CALL FUNCTION 'ME_INITIALIZE_INFORECORD'.
CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD'
*&---------------------------------------------------------------------* *& Report YTST_FF_005_003 *& *&---------------------------------------------------------------------* *& *& *&---------------------------------------------------------------------* REPORT YTST_FF_005_003. *&---------------------------------------------------------------------* *& Form FRM_INFNR_CREATE *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* * --> p1 text * <-- p2 text *----------------------------------------------------------------------* FORM FRM_INFNR_CREATE . DATA: WA_EINA TYPE EINA, WA_EINE TYPE EINE, WA_EINA_NEW TYPE EINA, WA_EINE_NEW TYPE EINE. DATA: IT_HEAD TYPE STANDARD TABLE OF MESTXH, IT_LINE TYPE STANDARD TABLE OF MESTXL. DATA: IT_EINA TYPE STANDARD TABLE OF EINA, IT_EINE TYPE STANDARD TABLE OF EINE. DATA:L_SUBRC LIKE SY-SUBRC. *&数量默认‘1’ *&S1.检查选中的数据是否ok READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' FLAG = 'E'. IF SY-SUBRC EQ 0. MESSAGE S000 WITH '选中数据存在错误,请先检查!' DISPLAY LIKE 'E'. RETURN. ENDIF. *&S2.据选择获取待创建的订单编号 READ TABLE GT_UP INTO WA_UP WITH KEY SEL = 'X' TEXT = ' '. IF SY-SUBRC NE 0. MESSAGE S000 WITH '请选择可操作的数据!' DISPLAY LIKE 'E'. RETURN. ENDIF. *&S3.一条数据创建一个信息记录 LOOP AT GT_UP ASSIGNING <FS_UP> WHERE SEL EQ 'X' AND TEXT EQ ' '. *&L1.EINA采购信息记录 - 一般数据 WA_EINA-MATNR = <FS_UP>-MATNR. WA_EINA-LIFNR = <FS_UP>-LIFNR. WA_EINA-IDNLF = <FS_UP>-IDNLF."货号 *&L2.采购信息记录 - 采购组织数据 WA_EINE-EKORG = 'P001'. WA_EINE-WERKS = <FS_UP>-WERKS. WA_EINE-ESOKZ = <FS_UP>-ESOKZ. WA_EINE-EKGRP = <FS_UP>-EKGRP. WA_EINE-NETPR = <FS_UP>-NETPR."净价 WA_EINE-PEINH = <FS_UP>-PEINH."单位 WA_EINE-NORBM = '1'."订单数量 WA_EINE-APLFZ = <FS_UP>-APLFZ."计划的天数内交货(输入) WA_EINE-EFFPR = '1'. "有效价格 * WA_EINE-MWSKZ = 'J1'."销售/购买税代码 CALL FUNCTION 'ME_INITIALIZE_INFORECORD'. CALL FUNCTION 'ME_DIRECT_INPUT_INFORECORD' EXPORTING ACTIVITY = <FS_UP>-SIGN "'H' "V 修改,H创建 I_EINA = WA_EINA I_EINE = WA_EINE I_NO_SUPPOSE = '' I_VORGA = 'A' * i_no_suppose = 'X'"重要 * i_vorga = 'B' * i_skip_nr_check = '1' IMPORTING E_EINA = WA_EINA_NEW E_EINE = WA_EINE_NEW TABLES T_HEAD = IT_HEAD T_LINE = IT_LINE EXCEPTIONS TEXTNAME_INVALID = 1 OTHERS = 2. IF SY-SUBRC <> 0. * MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO * WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4 L_SUBRC = SY-SUBRC. ENDIF. CALL FUNCTION 'ME_POST_INFORECORD' EXPORTING I_MATNR = WA_EINA-MATNR O_MATNR = WA_EINA-MATNR TABLES T_EINA_I = IT_EINA. *&APPEND wa_eine_new to it_eine. CALL FUNCTION 'ME_UPDATE_INFORECORD_COND' TABLES REINE = IT_EINE. CALL FUNCTION 'BAPI_TRANSACTION_COMMIT' EXPORTING WAIT = 'X'. IF L_SUBRC EQ 0. <FS_UP>-FLAG = 'S'. <FS_UP>-TEXT = '创建信息记录成功'. <FS_UP>-ICON = '@5B@'. <FS_UP>-SEL = '-'. <FS_UP>-INFNR = WA_EINA_NEW-INFNR. ELSE. <FS_UP>-FLAG = 'E'. <FS_UP>-TEXT = '创建信息记录失败'. <FS_UP>-ICON = '@5C@'. ENDIF. ENDLOOP. ENDFORM. " FRM_INFNR_CREATE