利用函数CS_BI_BOM_CREATE_BATCH_INPUT1 开发BOM批导程序

项目中,静态数据BOM批导是项目上线时,必须的步骤,下面代码是在CX项目中利用函数CS_BI_BOM_CREATE_BATCH_INPUT1做的BOM批导程序,程序中用EXCEL表格作为导入模板,并把批到结果以txt格式保存下来,分享一下,希望对需要的兄弟有帮助。

*----------------------------------------------------------------------*

* Program Name          : BOM批导入

* Purpose               :

* Project Name          :

* Created by            : liuxy

* Create on             :

* Functional Consultant :

* Description           :

*此程序主要功能为BOM批导入

*客户使用固定的EXCEL格式的文件格式,通过批导程序,导入相关表中。导入结果可以查询

*----------------------------------------------------------------------*

*    Modification Log

*Date        Programmer     Corr. #      Description

*

*----------------------------------------------------------------------*

REPORT  ZPP_BOM_BATCH_CREATE

MESSAGE-ID 00

LINE-COUNT 50

LINE-SIZE 132

NO STANDARD PAGE HEADING.

*----------------------------------------------------------------------*

* Table Work Areas

*----------------------------------------------------------------------*

TYPE-POOLS: SLIS.

TYPE-POOLS: KCDE.

*&---------------------------------------------------------------------*

*&      TABLES

*&---------------------------------------------------------------------*

TABLES: MAST,

STKO,

STPO.

*----------------------------------------------------------------------*

* Global Internal Tables Declaration

*----------------------------------------------------------------------*

DATA: IT_FILE TYPE FILETABLE.

TYPES:BEGIN OF TY_IT_UPLOAD,

WERKS LIKE MAST-WERKS,   "工厂

MATNR LIKE MAST-MATNR,   "物料

STLAL LIKE STKO-STLAL,   "可选BOM

BMENG(13),               "数量

POSNR LIKE STPO-POSNR,   "组件项目号

IDNRK LIKE STPO-IDNRK,   "SAP组件物料号

MENGE(13),                "组件数量

MEINS LIKE STPO-MEINS,   "组件单位

AUSCH(5),                "部件废品百分数

KZKUP LIKE STPO-KZKUP,   "是否为联产品(指示符:联合产品)

LGORT LIKE STPO-LGORT,   "生产仓储地点

VERTI LIKE STPO-VERTI,   "分配代码

ALPGR LIKE STPO-ALPGR,   "替代项目组

ALPRF LIKE STPO-ALPRF,   "优先级

ALPST LIKE STPO-ALPST,   "策略

EWAHR(3),                 "使用可能性

END OF TY_IT_UPLOAD.

**定义一个带有Header line的内存表IT

DATA:IT_UPLOAD TYPE TABLE OF TY_IT_UPLOAD WITH HEADER LINE.

DATA:WA_IT_UPLOAD TYPE TY_IT_UPLOAD.

*----------------------------------------------------------------------*

* Global Variants Declaration

*----------------------------------------------------------------------*

DATA: G_REPID TYPE SY-REPID.

DATA: IT_FIELD TYPE SLIS_T_FIELDCAT_ALV.

*定义读入EXCEL的内表

DATA GIT_EXCEL TYPE KCDE_INTERN_STRUC OCCURS 0 WITH HEADER LINE.

TYPES:BEGIN OF T_OUT.

INCLUDE STRUCTURE IT_UPLOAD.

TYPES FLAG(1).

TYPES MESSAGE(200).

TYPES:END OF T_OUT.

DATA:IT_OUT TYPE TABLE OF T_OUT WITH HEADER LINE.

DATA: L_NAME LIKE WWWDATATAB.

DATA: L_FULLPATH TYPE STRING.

*----------------------------------------------------------------------*

* Selection Screen

*----------------------------------------------------------------------*

SELECTION-SCREEN BEGIN OF BLOCK FRAME2 WITH FRAME TITLE T2.

PARAMETER: P_RB_1 RADIOBUTTON GROUP G1 USER-COMMAND F1 DEFAULT ‘X‘,

P_RB_2 RADIOBUTTON GROUP G1.

SELECTION-SCREEN END OF BLOCK FRAME2.

*****选择条件

SELECTION-SCREEN BEGIN OF BLOCK BL01 WITH FRAME TITLE TEXT-001.

PARAMETERS:    P_FILE LIKE RLGRAP-FILENAME MODIF ID M1.

SELECTION-SCREEN END OF BLOCK BL01.

SELECTION-SCREEN BEGIN OF BLOCK BL02 WITH FRAME TITLE TEXT-001.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (79) text-004.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN BEGIN OF LINE.

SELECTION-SCREEN COMMENT (79) text-005.

SELECTION-SCREEN END OF LINE.

SELECTION-SCREEN END OF BLOCK BL02.

*&---------------------------------------------------------------------*

*&   Event AT INITIALIZATION

*&---------------------------------------------------------------------*

INITIALIZATION.

*&---------------------------------------------------------------------*

*&   Event AT SELECTION-SCREEN

*&---------------------------------------------------------------------*

AT SELECTION-SCREEN.

AT SELECTION-SCREEN OUTPUT.

LOOP AT SCREEN.

IF ( P_RB_1 = ‘X‘ OR P_RB_2 = ‘X‘  ) AND ( SCREEN-GROUP1 = ‘M2‘ OR SCREEN-GROUP1 = ‘M3‘ OR SCREEN-GROUP1 = ‘M4‘).

SCREEN-ACTIVE = ‘0‘.

ENDIF.

IF ( P_RB_2 = ‘X‘ ) AND SCREEN-GROUP1 = ‘M1‘.

SCREEN-ACTIVE = ‘0‘.

ENDIF.

MODIFY SCREEN.

ENDLOOP.

*********************************************************************

* AT SELECTION-SCREEN

*********************************************************************

AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE.

PERFORM FRM_OPEN_FILE.

*----------------------------------------------------------------------*

* Event Occurs After The Selection Screen Has Been Processed

*----------------------------------------------------------------------*

START-OF-SELECTION.

IF P_RB_1 = ‘X‘.

PERFORM FRM_AUTH_CHECK.

PERFORM FRM_CHECK.

*    PERFORM FRM_ALV.

PERFORM FRM_DOWNLOAD.

ENDIF.

IF P_RB_2 = ‘X‘.

L_NAME-RELID = ‘MI‘.

L_NAME-OBJID = ‘Z_BOM_TEMPLATE‘.

PERFORM GET_TEMPLATE CHANGING L_NAME L_FULLPATH.

ENDIF.

"ALV

*----------------------------------------------------------------------*

* The Last Of The Events Called By The Runtime Environment To Occur

*----------------------------------------------------------------------*

END-OF-SELECTION.

*&---------------------------------------------------------------------*

*&      Form  frm_open_file

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM FRM_OPEN_FILE.

CALL FUNCTION ‘WS_FILENAME_GET‘

EXPORTING

mask             = ‘,Excel Files,*.xls,All Files,*.*.‘(101)

title            = ‘选择文件‘(100)

IMPORTING

filename         = p_file

EXCEPTIONS

inv_winsys       = 1

no_batch         = 2

selection_cancel = 3

selection_error  = 4

OTHERS           = 5.

ENDFORM.                    "frm_open_file

*&---------------------------------------------------------------------*

*&      Form  frm_auth_check

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM FRM_AUTH_CHECK.

*  DATA: LV_BUKRS TYPE STRING.

*  DATA: VKORG TYPE TVKO-VKORG.

*

*  SELECT SINGLE VKORG

*    FROM TVKO

*    INTO VKORG

*    WHERE  BUKRS = P_BUKRS.

*

*  AUTHORITY-CHECK OBJECT ‘V_VBAK_VKO‘

*         ID ‘VKORG‘ FIELD VKORG.

*  IF SY-SUBRC NE 0.

*    CONCATENATE ‘没有权限对公司‘ VKORG ‘进行操作!‘ INTO LV_BUKRS.

*    MESSAGE LV_BUKRS TYPE ‘S‘ DISPLAY LIKE ‘E‘ .

*    LEAVE LIST-PROCESSING.

*  ENDIF.

ENDFORM.                    "frm_auth_check

*&---------------------------------------------------------------------*

*&      Form  frm_check

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM FRM_CHECK.

PERFORM FRM_TIDY.

PERFORM FRM_SAVE.

ENDFORM.                    "frm_check

*&---------------------------------------------------------------------*

*&      Form  frm_tidy

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM FRM_TIDY.

*从已知文件名读入内表

CALL FUNCTION ‘KCD_EXCEL_OLE_TO_INT_CONVERT‘

EXPORTING

FILENAME                = P_FILE

I_BEGIN_COL             = 1

I_BEGIN_ROW             = 1

I_END_COL               = 20

I_END_ROW               = 65535

TABLES

INTERN                  = GIT_EXCEL[]

EXCEPTIONS

INCONSISTENT_PARAMETERS = 1

UPLOAD_OLE              = 2

OTHERS                  = 3.

IF SY-SUBRC <> 0.

MESSAGE  ‘打开文件错误,请检查文件,确保关闭文件!‘ TYPE ‘E‘.

STOP.

ENDIF.

REFRESH IT_UPLOAD.

CLEAR IT_UPLOAD.

LOOP AT GIT_EXCEL.

CASE GIT_EXCEL-COL.

WHEN ‘001‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-WERKS.

WHEN ‘002‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MATNR.

WHEN ‘003‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-BMENG.

WHEN ‘004‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-STLAL.

WHEN ‘005‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-POSNR.

WHEN ‘006‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-IDNRK.

WHEN ‘007‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MENGE.

WHEN ‘008‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-MEINS.

WHEN ‘009‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-AUSCH.

WHEN ‘010‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-KZKUP.

WHEN ‘011‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-LGORT.

WHEN ‘012‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-VERTI.

WHEN ‘013‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPGR.

WHEN ‘014‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPRF.

WHEN ‘015‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-ALPST.

WHEN ‘016‘.

WRITE GIT_EXCEL-VALUE TO IT_UPLOAD-EWAHR.

ENDCASE.

AT END OF ROW.

APPEND IT_UPLOAD.

CLEAR  IT_UPLOAD.

ENDAT.

ENDLOOP.

* 删除表头

DELETE IT_UPLOAD INDEX 1.

ENDFORM.                    "frm_tidy

*&---------------------------------------------------------------------*

*&      Form  frm_save

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

FORM FRM_SAVE.

DATA: L_BOM_HEADER LIKE BICSK,

L_GROUP_DATA LIKE BGR00,

L_MSGID LIKE T100-ARBGB,

L_MSGNO LIKE T100-MSGNR,

P_MSGNO LIKE SY-MSGNO,

L_MSGTY LIKE SY-MSGTY,

L_MSGV1 LIKE SY-MSGV1,

L_MSGV2 LIKE SY-MSGV2,

L_MSGV3 LIKE SY-MSGV3,

L_MSGV4 LIKE SY-MSGV4,

L_POSNR LIKE BICSP-POSNR.

DATA: LT_BOM_ITEM LIKE BICSP OCCURS 0 WITH HEADER LINE,

LT_SUB_ITEM LIKE BICSU OCCURS 0 WITH HEADER LINE.

DATA: GS_MSG LIKE  MESSAGE,

L_ERROR(1).

SORT IT_UPLOAD BY WERKS MATNR STLAL POSNR.

CLEAR IT_OUT.

REFRESH IT_OUT.

LOOP AT IT_UPLOAD.

CLEAR WA_IT_UPLOAD.

MOVE-CORRESPONDING IT_UPLOAD TO WA_IT_UPLOAD.

AT NEW STLAL.

*         创建之前先删除

CALL FUNCTION ‘CSAP_MAT_BOM_DELETE‘

*          DESTINATION V_RFC_DES

EXPORTING

MATERIAL           = WA_IT_UPLOAD-MATNR

PLANT              = WA_IT_UPLOAD-WERKS

ALTERNATIVE        = WA_IT_UPLOAD-STLAL

BOM_USAGE          = ‘1‘

FL_NO_CHANGE_DOC   = ‘X‘

FL_COMMIT_AND_WAIT = ‘X‘

EXCEPTIONS

ERROR              = 1

OTHERS             = 2.

CLEAR L_BOM_HEADER.

CLEAR LT_BOM_ITEM.

REFRESH LT_BOM_ITEM.

L_BOM_HEADER-TCODE = ‘CS01‘.

L_BOM_HEADER-WERKS = WA_IT_UPLOAD-WERKS.

L_BOM_HEADER-MATNR = WA_IT_UPLOAD-MATNR.

L_BOM_HEADER-BMENG = WA_IT_UPLOAD-BMENG.

L_BOM_HEADER-STLAL = WA_IT_UPLOAD-STLAL.

L_BOM_HEADER-STLAN = ‘1‘.

L_BOM_HEADER-DATUV = SY-DATUM.

L_BOM_HEADER-LOSBS = ‘99999999‘.

L_BOM_HEADER-STLST = ‘01‘.

ENDAT.

LT_BOM_ITEM-POSTP = ‘L‘.

LT_BOM_ITEM-SANKA = ‘X‘.

LT_BOM_ITEM-XLINE = ‘1‘.

LT_BOM_ITEM-POSNR = WA_IT_UPLOAD-POSNR.

LT_BOM_ITEM-IDNRK = WA_IT_UPLOAD-IDNRK.

LT_BOM_ITEM-MENGE = WA_IT_UPLOAD-MENGE.

LT_BOM_ITEM-MEINS = WA_IT_UPLOAD-MEINS.

LT_BOM_ITEM-AUSCH = WA_IT_UPLOAD-AUSCH.

LT_BOM_ITEM-KZKUP = WA_IT_UPLOAD-KZKUP.

LT_BOM_ITEM-LGORT = WA_IT_UPLOAD-LGORT.

LT_BOM_ITEM-VERTI = WA_IT_UPLOAD-VERTI.

LT_BOM_ITEM-ALPGR = WA_IT_UPLOAD-ALPGR.

LT_BOM_ITEM-ALPRF = WA_IT_UPLOAD-ALPRF.

LT_BOM_ITEM-ALPST = WA_IT_UPLOAD-ALPST.

LT_BOM_ITEM-EWAHR = WA_IT_UPLOAD-EWAHR.

APPEND LT_BOM_ITEM.

CLEAR LT_BOM_ITEM.

AT END OF STLAL.

CALL FUNCTION ‘CS_BI_BOM_CREATE_BATCH_INPUT1‘

EXPORTING

BOM_HEADER         = L_BOM_HEADER

*             CLOSE_GROUP        = ‘X‘

COMMIT_WORK        = ‘X‘

GROUP_DATA         = L_GROUP_DATA

*             NEW_GROUP          = ‘X‘

TCODE_MODE         = ‘E‘

TCODE_UPDATE       = ‘S‘

IMPORTING

MSGID              = L_MSGID

MSGNO              = L_MSGNO

MSGTY              = L_MSGTY

MSGV1              = L_MSGV1

MSGV2              = L_MSGV2

MSGV3              = L_MSGV3

MSGV4              = L_MSGV4

TABLES

BOM_ITEM           = LT_BOM_ITEM

BOM_SUB_ITEM       = LT_SUB_ITEM.

L_MSGID = L_MSGID.

P_MSGNO = L_MSGNO.

*         **get message string

CALL FUNCTION ‘WRITE_MESSAGE‘

EXPORTING

MSGID  = L_MSGID

MSGNO  = P_MSGNO

MSGTY  = L_MSGTY

MSGV1  = L_MSGV1

MSGV2  = L_MSGV2

MSGV3  = L_MSGV3

MSGV4  = L_MSGV4

MSGV5  = SPACE

IMPORTING

ERROR  = L_ERROR

MESSG  = GS_MSG

EXCEPTIONS

OTHERS = 1.

IT_OUT-WERKS = WA_IT_UPLOAD-WERKS.

IT_OUT-MATNR = WA_IT_UPLOAD-MATNR.

IT_OUT-BMENG = WA_IT_UPLOAD-BMENG.

IT_OUT-STLAL = WA_IT_UPLOAD-STLAL.

IF GS_MSG-MSGTY = ‘E‘ OR NOT ( L_ERROR IS INITIAL ).

IT_OUT-FLAG = ‘E‘.

IT_OUT-MESSAGE = GS_MSG-MSGTX.

ELSE.

IT_OUT-FLAG = ‘S‘.

IT_OUT-MESSAGE = ‘创建成功!‘.

ENDIF.

APPEND IT_OUT.

CLEAR IT_OUT.

ENDAT.

ENDLOOP.

ENDFORM.                    "frm_save

*&---------------------------------------------------------------------*

*&      Form  GET_TEMPLATE

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*      <--P_L_NAME  text

*      <--P_L_FULLPATH  text

*----------------------------------------------------------------------*

FORM GET_TEMPLATE   CHANGING NAME FULLPATH.

DATA: TITLE TYPE STRING.

DATA: MIME LIKE W3MIME OCCURS 10.

DATA: FILENAME TYPE STRING.

DATA: PATH TYPE STRING.

TITLE = ‘BOM批量创建模版‘.

CALL FUNCTION ‘WWWDATA_IMPORT‘

EXPORTING

KEY               = NAME

TABLES

MIME              = MIME

EXCEPTIONS

WRONG_OBJECT_TYPE = 1

IMPORT_ERROR      = 2

OTHERS            = 3.

CALL METHOD CL_GUI_FRONTEND_SERVICES=>FILE_SAVE_DIALOG

EXPORTING

WINDOW_TITLE         = TITLE

DEFAULT_EXTENSION    = ‘xls‘

DEFAULT_FILE_NAME    = TITLE

FILE_FILTER          = ‘(电子表格EXCEL)‘

CHANGING

FILENAME             = FILENAME

PATH                 = PATH

FULLPATH             = FULLPATH

EXCEPTIONS

CNTL_ERROR           = 1

ERROR_NO_GUI         = 2

NOT_SUPPORTED_BY_GUI = 3

OTHERS               = 4.

IF SY-SUBRC <> 0.

STOP.

ENDIF.

CALL FUNCTION ‘GUI_DOWNLOAD‘

EXPORTING

FILENAME = FULLPATH

FILETYPE = ‘BIN‘

TABLES

DATA_TAB = MIME.

ENDFORM.                    " GET_TEMPLATE

*&---------------------------------------------------------------------*

*&      Form  FRM_DOWNLOAD

*&---------------------------------------------------------------------*

*       text

*----------------------------------------------------------------------*

*  -->  p1        text

*  <--  p2        text

*----------------------------------------------------------------------*

FORM FRM_DOWNLOAD .

CALL FUNCTION ‘GUI_DOWNLOAD‘

EXPORTING

*    BIN_FILESIZE                    =

FILENAME                        = ‘C:/BOM批量创建程序结果表.TXT‘

FILETYPE                        = ‘ASC‘

APPEND                          = ‘ ‘

*    WRITE_FIELD_SEPARATOR           = ‘ ‘

*    HEADER                          = ‘00‘

*    TRUNC_TRAILING_BLANKS           = ‘ ‘

*    WRITE_LF                        = ‘X‘

*    COL_SELECT                      = ‘ ‘

*    COL_SELECT_MASK                 = ‘ ‘

*    DAT_MODE                        = ‘ ‘

*    CONFIRM_OVERWRITE               = ‘ ‘

*    NO_AUTH_CHECK                   = ‘ ‘

*    CODEPAGE                        = ‘ ‘

*    IGNORE_CERR                     = ABAP_TRUE

*    REPLACEMENT                     = ‘#‘

*    WRITE_BOM                       = ‘ ‘

*    TRUNC_TRAILING_BLANKS_EOL       = ‘X‘

*    WK1_N_FORMAT                    = ‘ ‘

*    WK1_N_SIZE                      = ‘ ‘

*    WK1_T_FORMAT                    = ‘ ‘

*    WK1_T_SIZE                      = ‘ ‘

*  IMPORTING

*    FILELENGTH                      =

TABLES

DATA_TAB                        = IT_OUT

*    FIELDNAMES                      =

*  EXCEPTIONS

*    FILE_WRITE_ERROR                = 1

*    NO_BATCH                        = 2

*    GUI_REFUSE_FILETRANSFER         = 3

*    INVALID_TYPE                    = 4

*    NO_AUTHORITY                    = 5

*    UNKNOWN_ERROR                   = 6

*    HEADER_NOT_ALLOWED              = 7

*    SEPARATOR_NOT_ALLOWED           = 8

*    FILESIZE_NOT_ALLOWED            = 9

*    HEADER_TOO_LONG                 = 10

*    DP_ERROR_CREATE                 = 11

*    DP_ERROR_SEND                   = 12

*    DP_ERROR_WRITE                  = 13

*    UNKNOWN_DP_ERROR                = 14

*    ACCESS_DENIED                   = 15

*    DP_OUT_OF_MEMORY                = 16

*    DISK_FULL                       = 17

*    DP_TIMEOUT                      = 18

*    FILE_NOT_FOUND                  = 19

*    DATAPROVIDER_EXCEPTION          = 20

*    CONTROL_FLUSH_ERROR             = 21

*    OTHERS                          = 22

.

IF SY-SUBRC <> 0.

* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO

*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.

ENDIF.

WRITE:‘BOM批量创建程序结果表保存到C盘根目录下,请查看!‘.

ENDFORM.                    " FRM_DOWNLOAD

*Text elements

*----------------------------------------------------------

* 004 批导注意事项:1、导入前模版中黄色列必须删除。

* 005                      2、导入前只保留一行标题。

*Selection texts

*----------------------------------------------------------

* P_FILE         上传文件路径

* P_RB_1         BOM批量创建

* P_RB_2         下载BOM文件模板

时间: 2024-10-21 04:49:59

利用函数CS_BI_BOM_CREATE_BATCH_INPUT1 开发BOM批导程序的相关文章

利用函数BAPI_REQUIREMENTS_CREATE开发计划独立需求批导程序

项目中,计划独立需求批导也是项目上线时,用到的程序,下面代码是在某项目中利用函数BAPI_REQUIREMENTS_CREATE计划独立需求批导程序,分享一下,希望对需要的兄弟有帮助. *&---------------------------------------------------------------------* *& Report  ZPP_CUS_JHXQ *& *&--------------------------------------------

利用函数BAPI_PR_CREATE开发采购申请批导

项目中,期初采购申请批导也是必须的,下面代码是利用BAPI    BAPI_PR_CREATE开发的采购申请批导函数,批导结果会保存在txt文本文件中,分享一下,希望对用到的兄弟有帮助. *&---------------------------------------------------------------------* *& Report  ZMM_PR_BATCH_INPUT *& *&-------------------------------------

利用Spring CLI开发并打包java程序

1.安装java,假如没有安装,参考https://www.cnblogs.com/SakerLiu/p/9742259.html 2.安装maven sudo apt-get install maven 3.安装Spring CLI,从https://repo.spring.io/milestone/org/springframework/boot/spring-boot-cli/下载想要的版本 将解压完成的后的文件重命名为spring,并移动到/usr/local/下,添加到PATH exp

利用SD_SALESDOCUMENT_CREATE 批导动态数据SO

期初上线时,SO作为动态数据,是批导入系统必须做的一步,好多朋友利用bdc.lsmw.scatt等工具都可以做,下面是项目中利用SD_SALESDOCUMENT_CREATE 进行批导的一些代码,分享一下,希望对用到的朋友有帮助. *&---------------------------------------------------------------------* *& Report  ZSD_BATCH_SO *& *&---------------------

利用最新版的RubyMine2016.2开发Ruby On Rails 程序

经过我的前两篇博文 ”Ruby On Rails环境搭建“ 和”Ruby On Rails 环境搭建MySQL数据库连接“ 我们已经具备了开发Ruby On Rails程序的一切要素,但是天天对着dos窗口敲命令总是感觉不那么方便, 经过自己这两天的尝试和摸索,基本上已经掌握了用RubyMine2016.2开发Ruby On Rails程序的流程,JetBrains实在是良心,RubyMine的界面实在是太漂亮了!!下面开始详细加以介绍

DAVINCI DM3730开发攻略——应用程序例程分析

过完2015年春节回来了,利用上班前的几天时间,先把这篇文章写完,本来是先写<DAVINCI DM3730开发攻略--linux-2.6.32移植>,但是那篇文章涉及内核的东西太多,不太好写,而本人已经很长时间没写新文章了,先发布这篇文章.后来想了想,从应用程序使用的角度分析,再一步一步深入内核里边去,也许更好. 前面几篇DM3730开发攻略讲到:一个DAVINCI  DM3730板子程序由xload,uboot, linux-2.6.32或者(linux-2.6.37),文件系统rootfs

用NW.js开发下一代桌面应用程序

前言 就在最近,GitHub发布了其代码编辑器Atom的1.0正式版.使用过它的童鞋一定会知道它利用网页技术开发.只不过它的框架是Atom Shell,非常类似NW.js.这时你可能问,放着好端端的native级界面框架不用,为什么要使用网页技术编写界面呢?下面我们就来探讨一下这个问题. 网页技术的优缺点 优点 HTML技术发展到今天的HTML5版本可谓已经十分强大,同时有CSS3的加持,网页也可以华丽夺目.Canvas标签.Audio标签以及Video标签的引入使得网页真正支持了多媒体,使用已

客户/供应商主数据批导

客户/供应商主数据维护中,SAP提供了两个强大的类cmd_ei_api=>maintain_bapi和VMD_EI_API 下面是客户主数据维护的例子,供应商的类似.当客户编码为数据类型时,一定要将客户编码补0,否则系统会出现莫名其妙的错误. *&---------------------------------------------------------------------* *& 程序名称:ZSDB0002 *& 作者    : *& 开发日期: *&am

【DSP开发】利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程

[DSP开发]利用CCS5.4开发基于DSP6455的JPEG2000图像解压缩过程 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:前端是时间基于VS2010工程,在windows上实现了对openjpeg2000的改写,实现了从内存中读取数据进行解压缩的工作.由于某些技术储备需要,将其移植到DSP6455中进行解压缩.本文记录的就是整个移植过程. 0. 异想天开:试图在CCS上直接使用VS2010生成好的编译库 这个想法是一直就有的,在调试VS