|
*===============================基本信息===============================* * 标题:销售订单评审一览表 * 创建日期:2006-03-15 * 基本描述:XXX *===============================更改日志===============================* * 申请号 日期 修改人 更改描述 * 2008-04修改新老产品,“新/老产品”--BOM和CQS使用取于物料主数据,CQS评 * 审完后修改物料主数据由新产品更改为老产品。视图更改:CQS评审更改物料定 * 价组,只开通修改销售视图,所以BDC所选的位置是2 * 2008-04-07增加ZAR的订单类型,为益周物流(物控,生管,采购)在"生管评审备注" * 填写生产异常信息 ** 2008-06-24 同一订单下的相同新产品把第二项改成老产品。(取消) * 2008-09-27 优化 * 2008-11-25 从20081202后的免费订单由GCM评审 * 2008-12-11 放开ZAR订单查看的权限 * 2009-01-19 CQS评审时不仅带出评审帐号且带上电脑名 * 2009-01-21 增加ZMJ收费无料号样品订单评审,只要GCM评审 * 2009-03-05 取消ZMJ样品订单的评审 * 2009-03-18 销售人员姓名改为取自订单版本号 YLT *CQS权限说明 WTCQS帐号只能评审不为A,B,C,Y的料号;YJCQS不能评审80R的料号 * 2009-07-10 增加送达方 *===============================定 义===============================*
************************************************************************ * 基本代码 ************************************************************************ REPORT ZR_SD_043 NO STANDARD PAGE HEADING LINE-COUNT 65 LINE-SIZE 150 MESSAGE-ID ZSD1.
************************************************************************ * INCLUDE:包含文件 ************************************************************************ INCLUDE OLE2INCL.
************************************************************************ * TABLE: 定义内表和TABLE ************************************************************************ TABLES: MARC,MARA, T001W, MAKT, VBAK,VBEP,VBAP,JEST,JCDS,ONRVB,MAST,STKO,MVKE,ZJCDS. ************************************************************************ * TYPE : 定义数据类型 ************************************************************************ TYPE-POOLS: SLIS. *报表最后输出时使用的数据 DATA: T_VBAK1 LIKE VBAK OCCURS 0 WITH HEADER LINE. "销售订单 DATA: T_TEMP LIKE VBAP OCCURS 0 WITH HEADER LINE. "YILT 销售订单项目数据 DATA: FLAG. DATA: BEGIN OF T_VBAK OCCURS 0. INCLUDE STRUCTURE T_VBAK1. DATA NAME1 LIKE KNA1-NAME1. DATA BZ(80). DATA FLAG. DATA: END OF T_VBAK. DATA: BEGIN OF T_VBAP1 OCCURS 0, POSNR LIKE VBAP-POSNR, MATNR LIKE VBAP-MATNR, MAKTX LIKE MAKT-MAKTX, ZMENG LIKE VBAP-ZMENG, MEINS LIKE VBAP-MEINS, NETWR_D LIKE VBAP-NETWR, KWMENG LIKE VBAP-KWMENG, KDMAT LIKE VBAP-KDMAT, KONDM LIKE VBAP-KONDM, MMKON LIKE MVKE-KONDM, ABGRU LIKE VBAP-ABGRU, SERNR LIKE VBAP-SERNR, VTEXT LIKE T178T-VTEXT, SOVTE LIKE T178T-VTEXT, VTEXT1 LIKE TSPAT-VTEXT, NAME1 LIKE KNA1-NAME1, DISPO LIKE MARC-DISPO, BISMT LIKE MARA-BISMT,
END OF T_VBAP1.
DATA: BEGIN OF IT_PRINT_001 OCCURS 0. DATA FLAG. DATA: COLOR1 TYPE SLIS_T_SPECIALCOL_ALV.
INCLUDE STRUCTURE T_VBAK1. INCLUDE STRUCTURE T_VBAP1. DATA BSTKD_E LIKE VBKD-BSTKD_E. DATA XL(130). DATA E1. DATA ET1(130). DATA E2. DATA ET2(40). DATA E3. DATA ET3(40). DATA E4. DATA ET4(132). DATA E5. "免费订单GCM评审状态 DATA ET5(132). DATA COLOR(4) TYPE C . "显示颜色-- PPAP订单为黄色 ELIN 09-06-30
*DATA BSTKD_E LIKE VBKD-BSTKD_E. "谢明志 05-08-18 DATA STRGR LIKE MARC-STRGR. DATA ZKUNNR LIKE VBAK-KUNNR. "送达方客户号 DATA NAME2 LIKE KNA1-NAME1. "送达方名称 DATA SNAME LIKE PA0001-SNAME. "销售人员姓名 DATA USNAM0 LIKE JCDS-USNAM. DATA UDATE0 LIKE JCDS-UDATE. DATA UTIME0 LIKE JCDS-UTIME. DATA USNAM01(12).
DATA USNAM1 LIKE JCDS-USNAM. DATA UDATE1 LIKE JCDS-UDATE. DATA UTIME1 LIKE JCDS-UTIME. DATA USNAM11(12).
DATA USNAM2 LIKE JCDS-USNAM. DATA IPDEC2(16) TYPE C. "取CQS评审人的IP DATA HOST2(25) TYPE C. "取CQS评审人的电脑名 DATA ZNAME LIKE ZDT02-ZNAME. "CQS评审人姓名 DATA UDATE2 LIKE JCDS-UDATE. DATA UTIME2 LIKE JCDS-UTIME. DATA USNAM21(12).
DATA USNAM3 LIKE JCDS-USNAM. DATA UDATE3 LIKE JCDS-UDATE. DATA UTIME3 LIKE JCDS-UTIME. DATA USNAM31(12). *免费订单由GCM评审 DATA USNAM4 LIKE JCDS-USNAM. DATA UDATE4 LIKE JCDS-UDATE. DATA UTIME4 LIKE JCDS-UTIME. DATA USNAM41(12).
DATA :OBJNR1 LIKE ONRVB-OBJNR, OBJNR2 LIKE ONRVB-OBJNR, EDATU LIKE VBEP-EDATU,
WERKS LIKE VBAP-WERKS, STLST LIKE STKO-STLST "BOM状态 .
DATA: END OF IT_PRINT_001. DATA Z_AREA LIKE IT_PRINT_001. DATA L_TEMP LIKE LINE OF IT_PRINT_001. DATA: IP_UNAME TYPE USR41-TERMINAL. DATA: P_REPORT, P_ALV. *长文本信息 DATA: IT_LTEXT TYPE STANDARD TABLE OF TLINE INITIAL SIZE 1 WITH HEADER LINE.
*BDC使用的参数 DATA: IT_BDCDATA_001 LIKE STANDARD TABLE OF BDCDATA INITIAL SIZE 6 WITH HEADER LINE,SESSION LIKE APQI-GROUPID.
*读取EXCEL表格后,存放数据 *NEED MODIFY: 根据EXCEL表格字段量的不同做修改。这里只适用不多于5个字 *段的情况,如有更多的字段,则必须进行相应的扩展。扩展后子程序 *F_FILE_READ_DATA的也要做相应的扩展。 DATA: BEGIN OF IT_EXCEL_001 OCCURS 0, COLUMN_001(20) , COLUMN_002(20) , COLUMN_003(20) , COLUMN_004(20) , COLUMN_005(20) , END OF IT_EXCEL_001.
DATA: BEGIN OF IT_SELECT_CONDITION OCCURS 0, SIGN(1) , OPTION(2) , LOW(8) , HIGH(8) , END OF IT_SELECT_CONDITION.
************************************************************************ * CONSTANTS : 定义常量 ************************************************************************
************************************************************************ * TYPE : 定义数据类型 ************************************************************************ TYPE-POOLS: SLIS.
************************************************************************ * DATA : 定义变量 ************************************************************************
*用于绘制普通REPORT DATA G_WRITE_COUNT TYPE I VALUE 0. DATA G_INIT_COUNT TYPE I VALUE 0. DATA G_LAST_FILED_WIDTH TYPE I VALUE 0. TYPES TYPE_IT_WRITE_POSITION TYPE I OCCURS 0 . DATA IT_WRITE_POSITION TYPE TYPE_IT_WRITE_POSITION.
*用于ALV控件双击事件 DATA: G_SELECTED_FIELD_VALUE(80). DATA: G_TABINDEX TYPE I. DATA: COLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE. "用于显示不同颜色 *ALV控件构造时需要的参数 DATA: G_ALV_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV, G_ALV_FIELDCAT_LINE LIKE LINE OF G_ALV_FIELDCAT, G_ALV_EVENT TYPE SLIS_T_EVENT.
*读取EXCEL文件时需要的对象 DATA EXCEL TYPE OLE2_OBJECT. DATA WORKBOOK TYPE OLE2_OBJECT. DATA CELL TYPE OLE2_OBJECT.
*ALV控件输出的表头 DATA: G_ALV_LISTHEADER TYPE SLIS_T_LISTHEADER.
*指定ALV控件触发TOP_OF_PAGE事件时调用的子程序 DATA: G_ALV_FORMNAME_TOP_OF_PAGE TYPE SLIS_FORMNAME VALUE 'F_ALV_EVENT_TOP_OF_PAGE'. *指定ALV控件触发END_OF_LIST事件时调用的子程序 DATA: G_ALV_FORMNAME_END_OF_LIST TYPE SLIS_FORMNAME VALUE 'F_ALV_EVENT_END_OF_LIST'.
*指定ALV控件的显示特征 DATA : G_ALV_LAYOUT TYPE SLIS_LAYOUT_ALV. *BDC DATA: MESSTAB LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE. ************************************************************************ * DEFINE: 定义宏 ************************************************************************ *普通报表格式的输出宏 DEFINE MACRO001. WRITE: "NEED MODIFY /1 &1, 21 &2, 41 &3, 61 &4, 81 &5, 100 &6. END-OF-DEFINITION.
************************************************************************ * SELECTION SCREEN : 定义报表筛选条件 ************************************************************************ *确定过滤参数 SELECTION-SCREEN BEGIN OF BLOCK FLAG WITH FRAME TITLE BLK_001 . SELECT-OPTIONS : S_VBELN FOR VBAK-VBELN, S_POSNR FOR VBAP-POSNR, S_VKORG FOR VBAK-VKORG OBLIGATORY MEMORY ID VOK , S_VTWEG FOR VBAK-VTWEG, S_SPART FOR VBAK-SPART, S_VKBUR FOR VBAK-VKBUR, S_VKGRP FOR VBAK-VKGRP, S_KUNNR FOR VBAK-KUNNR, S_ERDAT FOR VBAK-ERDAT, S_VDATU FOR VBAK-VDATU, S_EDATU FOR VBEP-EDATU, "YLT 增加行项目交期 S_MATNR FOR MARC-MATNR, S_DISPO FOR MARC-DISPO, S_AUGRU FOR VBAK-AUGRU, S_ABGRU FOR VBAP-ABGRU, S_KONDM FOR VBAP-KONDM. * S_MMKON FOR MVKE-KONDM. PARAMETERS: SGD AS CHECKBOX DEFAULT ''."启用生管过滤评审时间 SELECT-OPTIONS :S_UDATE FOR JCDS-UDATE. SELECT-OPTIONS S_STLST FOR STKO-STLST. SELECTION-SCREEN END OF BLOCK FLAG.
SELECTION-SCREEN BEGIN OF BLOCK BLK_002 WITH FRAME TITLE BLK_002 . PARAMETERS: S_ALL RADIOBUTTON GROUP R1 , S_PS RADIOBUTTON GROUP R1 DEFAULT 'X', EPLAS RADIOBUTTON GROUP R1 , S_AZFD RADIOBUTTON GROUP R1 , "所有免费订单 S_ZFD RADIOBUTTON GROUP R1 . "所有未评审的免费订单
SELECTION-SCREEN END OF BLOCK BLK_002. *选择文件 *NEED MODIFY:当要使用文件功能时,只要将代码“NO-DISPLAY”去掉即可 *代码“NO-DISPLAY”的作用:隐藏参数 SELECTION-SCREEN BEGIN OF BLOCK BLK_003 WITH FRAME TITLE BLK_003 . PARAMETERS: P_FILE LIKE CFFILE-FILENAME NO-DISPLAY . SELECTION-SCREEN END OF BLOCK BLK_003.
*===============================事 件===============================* ************************************************************************ * INITIALIZATION.启动程序开始执行 ************************************************************************
************************************************************************ * AT SELECTION SCREEN: ************************************************************************ AT SELECTION-SCREEN. PERFORM F_CHECK_INPUT. "检查用户输入
INITIALIZATION. BLK_001 = '检索参数---PPAP订单为黄色背景色!'. BLK_002 = '报表类型'. BLK_003 = '文件参数'.
**用于弹出文件对话框 *NEED MODIFY:当要使用文件功能时,只要将以下代码的注释去掉即可 *AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE. * PERFORM F_FILE_GET.
************************************************************************ * START OF SELECTION: ************************************************************************ START-OF-SELECTION. *往数据库增加运行日志 DATA: BEGIN OF IT_ZREPORTLOG OCCURS 0. INCLUDE TYPE ZREPORTLOG. DATA: END OF IT_ZREPORTLOG .
IT_ZREPORTLOG-MANDT = SY-MANDT. IT_ZREPORTLOG-TCODE = SY-TCODE. IT_ZREPORTLOG-DATUM = SY-DATUM. IT_ZREPORTLOG-UZEIT = SY-UZEIT. IT_ZREPORTLOG-UNAME = SY-UNAME. IT_ZREPORTLOG-TITLE = SY-TITLE. APPEND IT_ZREPORTLOG. INSERT INTO ZREPORTLOG VALUES IT_ZREPORTLOG . *如果P_FILE有赋值,则进行EXCEL文件读取 IF P_FILE <> ''. PERFORM F_FILE_OPEN. "文件2.打开文件 PERFORM F_FILE_READ_DATA. "文件3.取文件中的数据 PERFORM F_FILE_CLOSE. "文件3.关闭文件 ENDIF.
PERFORM F_READ_DATA.
************************************************************************ * END OF SELECTION ************************************************************************ END-OF-SELECTION. * IF P_REPORT = 'X'. * PERFORM F_PRINT_REPORT. * ELSEIF P_ALV = 'X'. PERFORM F_PRINT_ALV. * ELSEIF P_FORM = 'X'. * PERFORM F_PRINT_FORM. *ENDIF.
************************************************************************ * TOP OF PAGE ************************************************************************ TOP-OF-PAGE.
************************************************************************ * END OF PAGE ************************************************************************ END-OF-PAGE.
************************************************************************ * LINE SELECTION ************************************************************************ AT LINE-SELECTION .
************************************************************************ * AT PFXX: ************************************************************************ AT PFXX.
************************************************************************ * AT USER-COMMAND ************************************************************************ AT USER-COMMAND.
*===============================子 例 程===============================* ************************************************************************ *过滤条件有效性检查 FORM F_CHECK_INPUT. *增加销售机构权限检查BY PXY AT 08-06-02 TABLES:T001. SELECT T001~BUKRS FROM T001 INTO T001-BUKRS WHERE T001~BUKRS IN S_VKORG. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'CO.' ID 'BUKRS' FIELD T001-BUKRS. IF SY-SUBRC <> 0 . MESSAGE E026 WITH S_VKORG. ENDIF. ENDSELECT.
IF EPLAS = 'X'. * 权限控制,S43D权限组能修改“生产评审意见”的相关字段 * AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43D' ID 'BUKRS' FIELD T001-BUKRS.. * IF SY-SUBRC <> 0 . * MESSAGE E015. * ENDIF. ENDIF. ENDFORM. " F_CHECK_INPUT ************************************************************************ *从数据库中读取数据,填充报表输出时所用的内表 FORM F_READ_DATA . DATA: CELLCOLOR TYPE SLIS_T_SPECIALCOL_ALV WITH HEADER LINE. IF EPLAS = 'X'. SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN * INNER JOIN ONRVB * ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' * INNER JOIN JEST * ON JEST~OBJNR = ONRVB~OBJNR * AND JEST~INACT = '' * AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND VBAK~AUART = 'ZAR' "EPLAS不需要订单评审的生管备注 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM. * ELSEIF S_ALL = ''. ELSEIF S_PS = 'X'. SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN JEST ON JEST~OBJNR = ONRVB~OBJNR AND JEST~INACT = '' AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND ( VBAK~AUART = 'ZOR' OR VBAK~AUART = 'ZSD' OR VBAK~AUART = 'ZKB' OR VBAK~AUART = 'ZTJ' ) * OR VBAK~AUART = 'ZFD' OR VBAK~AUART = 'ZKB' ) "免费订单用另外的处理方式 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM AND ( JEST~STAT = 'E0001' OR JEST~STAT = 'E0002' OR JEST~STAT = 'E0003' ).
SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN JEST ON JEST~OBJNR = ONRVB~OBJNR AND JEST~INACT = '' AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR APPENDING CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND VBAK~AUART = 'ZFD' "免费订单用另外的处理方式 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM * AND VBAK~ERDAT <= '20081202' "在此日期前的免费订单为三个状态 AND VBAK~ERDAT <= '20081201' "在此日期前的免费订单为三个状态 AND ( JEST~STAT = 'E0001' OR JEST~STAT = 'E0002' OR JEST~STAT = 'E0003').
SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN JEST ON JEST~OBJNR = ONRVB~OBJNR AND JEST~INACT = '' AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR APPENDING CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND VBAK~AUART = 'ZFD' "免费订单用另外的处理方式 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM * AND VBAK~ERDAT > '20081202' AND VBAK~ERDAT > '20081201' AND ( JEST~STAT = 'E0001' OR JEST~STAT = 'E0002' OR JEST~STAT = 'E0003' OR JEST~STAT = 'E0004').
* SELECT * *FROM VBAP *INNER JOIN VBAK * ON VBAK~VBELN = VBAP~VBELN *INNER JOIN ONRVB * ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR *INNER JOIN VBEP * ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' *INNER JOIN JEST * ON JEST~OBJNR = ONRVB~OBJNR * AND JEST~INACT = '' * AND JEST~CHGNR = '001' *INNER JOIN MARC * ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS *INNER JOIN MARA * ON VBAP~MATNR = MARA~MATNR *APPENDING CORRESPONDING FIELDS OF TABLE IT_PRINT_001 *WHERE VBAK~VBELN IN S_VBELN *AND VBAP~POSNR IN S_POSNR *AND VBAK~VKORG IN S_VKORG *AND VBAK~VTWEG IN S_VTWEG *AND VBAK~SPART IN S_SPART *AND VBAK~VKBUR IN S_VKBUR *AND VBAK~VKGRP IN S_VKGRP *AND VBAK~KUNNR IN S_KUNNR *AND VBAK~ERDAT IN S_ERDAT *AND VBAK~VDATU IN S_VDATU *AND VBEP~EDATU IN S_EDATU "行项目交期 *AND VBAK~AUGRU IN S_AUGRU *AND VBAP~ABGRU IN S_ABGRU *AND VBAK~AUART = 'ZMJ' *AND MARC~DISPO IN S_DISPO *AND MARC~MATNR IN S_MATNR *AND VBAP~KONDM IN S_KONDM *AND ( JEST~STAT = 'E0001' ).
ELSEIF S_ZFD = 'X'.
SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN JEST ON JEST~OBJNR = ONRVB~OBJNR AND JEST~INACT = '' AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND VBAK~AUART = 'ZFD' "免费订单用另外的处理方式 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM * AND VBAK~ERDAT <= '20081202' "在此日期前的免费订单为三个状态 AND VBAK~ERDAT <= '20081201' "在此日期前的免费订单为三个状态 AND ( JEST~STAT = 'E0001' OR JEST~STAT = 'E0002' OR JEST~STAT = 'E0003').
SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN JEST ON JEST~OBJNR = ONRVB~OBJNR AND JEST~INACT = '' AND JEST~CHGNR = '001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR APPENDING CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND VBAK~AUART = 'ZFD' "免费订单用另外的处理方式 AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND VBAP~KONDM IN S_KONDM * AND VBAK~ERDAT > '20081202' AND VBAK~ERDAT > '20081201' AND ( JEST~STAT = 'E0001' OR JEST~STAT = 'E0002' OR JEST~STAT = 'E0003' OR JEST~STAT = 'E0004').
* SELECT * *FROM VBAP *INNER JOIN VBAK * ON VBAK~VBELN = VBAP~VBELN *INNER JOIN ONRVB * ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR *INNER JOIN VBEP * ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' *INNER JOIN JEST * ON JEST~OBJNR = ONRVB~OBJNR * AND JEST~INACT = '' * AND JEST~CHGNR = '001' *INNER JOIN MARC * ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS *INNER JOIN MARA * ON VBAP~MATNR = MARA~MATNR *APPENDING CORRESPONDING FIELDS OF TABLE IT_PRINT_001 *WHERE VBAK~VBELN IN S_VBELN *AND VBAP~POSNR IN S_POSNR *AND VBAK~VKORG IN S_VKORG *AND VBAK~VTWEG IN S_VTWEG *AND VBAK~SPART IN S_SPART *AND VBAK~VKBUR IN S_VKBUR *AND VBAK~VKGRP IN S_VKGRP *AND VBAK~KUNNR IN S_KUNNR *AND VBAK~ERDAT IN S_ERDAT *AND VBAK~VDATU IN S_VDATU *AND VBEP~EDATU IN S_EDATU "行项目交期 *AND VBAK~AUGRU IN S_AUGRU *AND VBAP~ABGRU IN S_ABGRU *AND VBAK~AUART = 'ZMJ' *AND MARC~DISPO IN S_DISPO *AND MARC~MATNR IN S_MATNR *AND VBAP~KONDM IN S_KONDM *AND ( JEST~STAT = 'E0001').
ELSE. IF SGD = 'X'. SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN JCDS ON JCDS~OBJNR = ONRVB~OBJNR AND JCDS~STAT = 'E0004' AND JCDS~CHIND = 'I' INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR * AND JCDS~USNAM IN S_ AND JCDS~UDATE IN S_UDATE * AND JCDS~UTIME IN S_ AND VBAP~KONDM IN S_KONDM AND ( VBAK~AUART = 'ZOR' OR VBAK~AUART = 'ZSD' OR VBAK~AUART = 'ZFD' OR VBAK~AUART = 'ZKB' OR VBAK~AUART = 'ZTJ' ) .
ELSEIF S_ALL = 'X'. SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND ( VBAK~AUART = 'ZOR' OR VBAK~AUART = 'ZSD' OR VBAK~AUART = 'ZFD' OR VBAK~AUART = 'ZKB' OR VBAK~AUART = 'ZTJ' OR VBAK~AUART = 'ZMJ' ) . ELSEIF S_AZFD = 'X'. SELECT * FROM VBAP INNER JOIN VBAK ON VBAK~VBELN = VBAP~VBELN INNER JOIN ONRVB ON ONRVB~VBELN = VBAP~VBELN AND ONRVB~POSNR = VBAP~POSNR INNER JOIN VBEP ON VBEP~VBELN = VBAP~VBELN AND VBEP~POSNR = VBAP~POSNR AND VBEP~ETENR = '0001' INNER JOIN MARC ON VBAP~MATNR = MARC~MATNR AND VBAP~WERKS = MARC~WERKS INNER JOIN MARA ON VBAP~MATNR = MARA~MATNR INTO CORRESPONDING FIELDS OF TABLE IT_PRINT_001 WHERE VBAK~VBELN IN S_VBELN AND VBAP~POSNR IN S_POSNR AND VBAK~VKORG IN S_VKORG AND VBAK~VTWEG IN S_VTWEG AND VBAK~SPART IN S_SPART AND VBAK~VKBUR IN S_VKBUR AND VBAK~VKGRP IN S_VKGRP AND VBAK~KUNNR IN S_KUNNR AND VBAK~ERDAT IN S_ERDAT AND VBAK~VDATU IN S_VDATU AND VBEP~EDATU IN S_EDATU "行项目交期 AND VBAK~AUGRU IN S_AUGRU AND VBAP~ABGRU IN S_ABGRU AND MARC~DISPO IN S_DISPO AND MARC~MATNR IN S_MATNR AND ( VBAK~AUART = 'ZFD' OR VBAK~AUART = 'ZMJ' ) .
ENDIF. ENDIF.
DATA: ZSTLTY LIKE STKO-STLTY, ZSTLNR LIKE STKO-STLNR, ZSTLAL LIKE STKO-STLAL, ZSTKOZ LIKE STKO-STKOZ. LOOP AT IT_PRINT_001. SELECT STKO~STLTY STKO~STLNR STKO~STLAL MAX( STKO~STKOZ ) FROM MAST INNER JOIN STKO ON MAST~STLNR = STKO~STLNR AND MAST~STLAL = STKO~STLAL INTO (ZSTLTY,ZSTLNR,ZSTLAL,ZSTKOZ) WHERE MAST~MATNR = IT_PRINT_001-MATNR AND MAST~WERKS = IT_PRINT_001-WERKS AND STKO~STLTY = 'M' AND MAST~STLAN = '1' GROUP BY STKO~STLTY STKO~STLNR STKO~STLAL.
ENDSELECT.
SELECT SINGLE STKO~STLST FROM STKO INTO IT_PRINT_001-STLST WHERE STKO~STLTY = ZSTLTY AND STKO~STLNR = ZSTLNR AND STKO~STLAL = ZSTLAL AND STKO~STKOZ = ZSTKOZ AND STKO~STLST IN S_STLST.
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR2 AND STAT = 'E0004'.
IF SY-SUBRC = 0 . DELETE IT_PRINT_001. ELSE. IF EPLAS = ''."ZAR订单类型不进入判断 SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0001'. IF SY-SUBRC = 0. IT_PRINT_001-E1 = 'X'. IF IT_PRINT_001-STLST IN S_STLST. IF IT_PRINT_001-OBJNR <> ''. IT_PRINT_001-OBJNR1 = IT_PRINT_001-OBJNR. REPLACE 'VB0' WITH '0' INTO IT_PRINT_001-OBJNR1.
CONCATENATE IT_PRINT_001-OBJNR+0(12) '000000' INTO IT_PRINT_001-OBJNR2. ELSE. CONCATENATE IT_PRINT_001-VBELN IT_PRINT_001-POSNR INTO IT_PRINT_001-OBJNR1. ENDIF. MODIFY IT_PRINT_001. CLEAR IT_PRINT_001. ELSE. DELETE IT_PRINT_001. ENDIF. ELSE. DELETE IT_PRINT_001. ENDIF. ENDIF. ENDIF. CLEAR IT_PRINT_001. CLEAR:ZSTLTY,ZSTLNR,ZSTLAL,ZSTKOZ. ENDLOOP. * LOOP AT IT_PRINT_001. "YLT 20090718优化程序将下面的LOOP与上面合并 **YILT 080707 益周ZAR的单出不来的调整 ** IF IT_PRINT_001-AUART = 'ZAR' AND IT_PRINT_001-WERKS = '2000'. ** ELSE. * SELECT SINGLE * FROM JEST INTO JEST * WHERE OBJNR = IT_PRINT_001-OBJNR2 * AND STAT = 'E0004'. * IF SY-SUBRC = 0. * DELETE IT_PRINT_001. * ENDIF. ** ENDIF. * ENDLOOP. * IF EPLAS = ''."ZAR订单类型不进入判断 * LOOP AT IT_PRINT_001 . * SELECT SINGLE * FROM JEST INTO JEST * WHERE OBJNR = IT_PRINT_001-OBJNR * AND STAT = 'E0001'. * IF SY-SUBRC = 0. * IT_PRINT_001-E1 = 'X'. * MODIFY IT_PRINT_001. * CLEAR IT_PRINT_001. * ELSE. * DELETE IT_PRINT_001. * ENDIF. * ENDLOOP. * ENDIF. LOOP AT IT_PRINT_001. *送达方编号 SELECT SINGLE KUNNR FROM VBPA INTO IT_PRINT_001-ZKUNNR WHERE VBELN = IT_PRINT_001-VBELN AND PARVW = 'WE'. *计算单价 IF IT_PRINT_001-KWMENG > 0. IT_PRINT_001-NETWR_D = IT_PRINT_001-NETWR / IT_PRINT_001-KWMENG. ENDIF. *取评审文本 *IF IT_PRINT_001-AUART = 'ZFD' AND IT_PRINT_001-ERDAT > '20081202'. IF IT_PRINT_001-AUART = 'ZFD' AND IT_PRINT_001-ERDAT > '20081201' AND IT_PRINT_001-VBELN <> '0000043345'. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0006' CHANGING IT_PRINT_001-ET1. "取文本数据
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0002'. IF SY-SUBRC = 0. IT_PRINT_001-E5 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0001' CHANGING IT_PRINT_001-ET5. "取文本数据 SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0003'. IF SY-SUBRC = 0. IT_PRINT_001-E2 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0007' CHANGING IT_PRINT_001-ET2. "取文本数据
SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0004'. IF SY-SUBRC = 0. IT_PRINT_001-E3 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0008' CHANGING IT_PRINT_001-ET3. "取文本数据
SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0005'. IF SY-SUBRC = 0. IT_PRINT_001-E4 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0009' CHANGING IT_PRINT_001-ET4 . "取文本数据 ELSEIF IT_PRINT_001-AUART = 'ZMJ'. "收费样品订单只有GCM主管评审 PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0006' CHANGING IT_PRINT_001-ET1. "取文本数据
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0002'. IF SY-SUBRC = 0. IT_PRINT_001-E5 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0001' CHANGING IT_PRINT_001-ET5. "取文本数据 SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0003'. ELSE.
PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0006' CHANGING IT_PRINT_001-ET1. "取文本数据
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0002'. IF SY-SUBRC = 0. IT_PRINT_001-E2 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0007' CHANGING IT_PRINT_001-ET2. "取文本数据 SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0003'. IF SY-SUBRC = 0. IT_PRINT_001-E3 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0008' CHANGING IT_PRINT_001-ET3. "取文本数据
SELECT SINGLE INACT FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0004'. IF SY-SUBRC = 0. IT_PRINT_001-E4 = 'X'. ENDIF. PERFORM F_SUB_GET_TEXT USING IT_PRINT_001-OBJNR1 '0009' CHANGING IT_PRINT_001-ET4. "取文本数据
ENDIF.
* *物料主数据的物料定价组---BOM和CQS用 SELECT SINGLE T178T~VTEXT T178T~KONDM AS MMKON FROM MVKE JOIN T178T ON T178T~KONDM = MVKE~KONDM AND T178T~SPRAS = '1' INTO (IT_PRINT_001-VTEXT,IT_PRINT_001-MMKON) WHERE MATNR = IT_PRINT_001-MATNR AND VKORG = IT_PRINT_001-VKORG AND VTWEG = IT_PRINT_001-VTWEG . *获取其它数据 *如果BOM状态为4/5,字体颜色用红色标识 hxh 090714 IF IT_PRINT_001-STLST = '4' OR IT_PRINT_001-STLST = '5'. CELLCOLOR-FIELDNAME = 'E2'. "BOM评审字段 CELLCOLOR-COLOR-COL = 6. CELLCOLOR-COLOR-INT = '1'. CELLCOLOR-COLOR-INV = '0'. APPEND CELLCOLOR.
CELLCOLOR-FIELDNAME = 'E3'. "CQS评审字段 CELLCOLOR-COLOR-COL = 6. CELLCOLOR-COLOR-INT = '1'. CELLCOLOR-COLOR-INV = '0'. APPEND CELLCOLOR.
CELLCOLOR-FIELDNAME = 'E4'. "生产评审字段 CELLCOLOR-COLOR-COL = 6. CELLCOLOR-COLOR-INT = '1'. CELLCOLOR-COLOR-INV = '0'. APPEND CELLCOLOR. IT_PRINT_001-COLOR1[] = CELLCOLOR[]. ENDIF.
*如果是PPAP订单--订单原因201-203的用黄色标识 ELIN 20090630 IF IT_PRINT_001-AUGRU = '201' OR IT_PRINT_001-AUGRU = '202' OR IT_PRINT_001-AUGRU = '203' . IT_PRINT_001-COLOR = 'C310'. ENDIF. *销售订单的物料定价组---生管用 SELECT SINGLE VTEXT FROM T178T INTO IT_PRINT_001-SOVTE WHERE KONDM = IT_PRINT_001-KONDM AND SPRAS = '1'.
SELECT SINGLE MAKTX FROM MAKT INTO IT_PRINT_001-MAKTX WHERE MATNR = IT_PRINT_001-MATNR AND SPRAS = '1'.
SELECT SINGLE SPART FROM MARA INTO IT_PRINT_001-SPART WHERE MATNR = IT_PRINT_001-MATNR.
SELECT SINGLE KUNNR VSNMR_V FROM VBAK INTO CORRESPONDING FIELDS OF IT_PRINT_001 WHERE VBELN = IT_PRINT_001-VBELN.
SELECT SINGLE NAME1 FROM KNA1 INTO IT_PRINT_001-NAME1 WHERE KUNNR = IT_PRINT_001-KUNNR.
SELECT SINGLE NAME1 FROM KNA1 INTO IT_PRINT_001-NAME2 WHERE KUNNR = IT_PRINT_001-ZKUNNR.
SELECT SINGLE VTEXT FROM TSPAT INTO IT_PRINT_001-VTEXT1 WHERE SPART = IT_PRINT_001-SPART AND SPRAS = '1'.
*SO号 SELECT SINGLE VBKD~BSTKD_E INTO IT_PRINT_001-BSTKD_E FROM VBKD WHERE VBKD~POSNR = IT_PRINT_001-POSNR AND VBKD~VBELN = IT_PRINT_001-VBELN . IF SY-SUBRC <> 0. SELECT SINGLE VBKD~BSTKD_E INTO IT_PRINT_001-BSTKD_E FROM VBKD WHERE VBKD~POSNR = '0' AND VBKD~VBELN = IT_PRINT_001-VBELN. ENDIF.
*取销售人员 *销售人员改从订单版本栏位取值 2009-03-18 YLT IF IT_PRINT_001-VSNMR_V = ''. SELECT SINGLE SNAME FROM VBPA JOIN PA0001 ON PA0001~PERNR = VBPA~PERNR INTO IT_PRINT_001-SNAME WHERE VBPA~VBELN = IT_PRINT_001-VBELN AND VBPA~PARVW = 'AF'. ELSE. IT_PRINT_001-SNAME = IT_PRINT_001-VSNMR_V. ENDIF.
IF IT_PRINT_001-AUART = 'ZFD'. * IF IT_PRINT_001-ERDAT > '20081202'. IF IT_PRINT_001-ERDAT > '20081201' AND IT_PRINT_001-VBELN <> '0000043345'. SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM0,IT_PRINT_001-UDATE0,IT_PRINT_001-UTIME0) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0001' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM4,IT_PRINT_001-UDATE4,IT_PRINT_001-UTIME4) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0002' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM1,IT_PRINT_001-UDATE1,IT_PRINT_001-UTIME1) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0003' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM2,IT_PRINT_001-UDATE2,IT_PRINT_001-UTIME2) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0004' AND JCDS~CHIND = 'I'.
"CQS评审后的电脑名显示 SELECT SINGLE CQSNAME FROM ZJCDS INTO IT_PRINT_001-HOST2 WHERE ZJCDS~VBELN = IT_PRINT_001-VBELN AND ZJCDS~POSNR = IT_PRINT_001-POSNR.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM3,IT_PRINT_001-UDATE3,IT_PRINT_001-UTIME3) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0005' AND JCDS~CHIND = 'I'. ELSE. *评审时间 SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM0,IT_PRINT_001-UDATE0,IT_PRINT_001-UTIME0) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0001' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM1,IT_PRINT_001-UDATE1,IT_PRINT_001-UTIME1) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0002' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM2,IT_PRINT_001-UDATE2,IT_PRINT_001-UTIME2) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0003' AND JCDS~CHIND = 'I'.
"CQS评审后的电脑名显示 SELECT SINGLE CQSNAME FROM ZJCDS INTO IT_PRINT_001-HOST2 WHERE ZJCDS~VBELN = IT_PRINT_001-VBELN AND ZJCDS~POSNR = IT_PRINT_001-POSNR. IF IT_PRINT_001-HOST2 = ''. IT_PRINT_001-HOST2 = IT_PRINT_001-USNAM2. ENDIF.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM3,IT_PRINT_001-UDATE3,IT_PRINT_001-UTIME3) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0004' AND JCDS~CHIND = 'I'. ENDIF. "以上执行ZFD类型订单的评审记录
ELSEIF IT_PRINT_001-AUART = 'ZMJ'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM0,IT_PRINT_001-UDATE0,IT_PRINT_001-UTIME0) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0001' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM4,IT_PRINT_001-UDATE4,IT_PRINT_001-UTIME4) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0002' AND JCDS~CHIND = 'I'. ELSE. *评审时间 SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM0,IT_PRINT_001-UDATE0,IT_PRINT_001-UTIME0) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0001' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM1,IT_PRINT_001-UDATE1,IT_PRINT_001-UTIME1) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0002' AND JCDS~CHIND = 'I'.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM2,IT_PRINT_001-UDATE2,IT_PRINT_001-UTIME2) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0003' AND JCDS~CHIND = 'I'.
"CQS评审后的电脑名显示 SELECT SINGLE CQSNAME FROM ZJCDS INTO IT_PRINT_001-HOST2 WHERE ZJCDS~VBELN = IT_PRINT_001-VBELN AND ZJCDS~POSNR = IT_PRINT_001-POSNR. IF IT_PRINT_001-HOST2 = ''. IT_PRINT_001-HOST2 = IT_PRINT_001-USNAM2. ENDIF.
SELECT SINGLE USNAM UDATE UTIME FROM JCDS INTO (IT_PRINT_001-USNAM3,IT_PRINT_001-UDATE3,IT_PRINT_001-UTIME3) WHERE JCDS~OBJNR = IT_PRINT_001-OBJNR AND JCDS~STAT = 'E0004' AND JCDS~CHIND = 'I'.
ENDIF.
**YILT 增加新/老产品更正的功能 *IF IT_PRINT_001-KONDM = '02'. * SELECT * FROM VBAP INTO CORRESPONDING FIELDS OF TABLE T_TEMP * WHERE KONDM = '02' * AND MATNR = IT_PRINT_001-MATNR * AND VBELN = IT_PRINT_001-VBELN * . * SORT T_TEMP BY MATNR VBELN POSNR. * LOOP AT T_TEMP. * IF SY-TABIX <> 1 . * T_TEMP-KONDM = '01'. * MODIFY VBAP FROM T_TEMP. * CLEAR T_TEMP. * ENDIF. * ENDLOOP. *ENDIF.
MODIFY IT_PRINT_001. CLEAR IT_PRINT_001. ENDLOOP. ENDFORM. " F_READ_DATA ************************************************************************ *普通报表格式的打印 FORM F_PRINT_REPORT. *绘制表头 WRITE: AT 50 'XXX表' ,/. ENDFORM. " F_PRINT_REPORT ************************************************************************ *FORM报表格式的打印 FORM F_PRINT_FORM. CALL FUNCTION 'OPEN_FORM' EXPORTING DEVICE = 'PRINTER' FORM = '' "NEED MODIFY DIALOG = 'X' LANGUAGE = SY-LANGU. LOOP AT IT_PRINT_001. CALL FUNCTION 'WRITE_FORM' EXPORTING ELEMENT = '' "NEED MODIFY FUNCTION = 'SET' TYPE = 'BODY' WINDOW = 'MAIN'. CLEAR IT_PRINT_001. ENDLOOP. CALL FUNCTION 'CLOSE_FORM' EXCEPTIONS UNOPENED = 1 OTHERS = 2. ENDFORM. " F_PRINT_FORM ************************************************************************ *ALV报表格式的打印 FORM F_PRINT_ALV.
REFRESH G_ALV_LISTHEADER[]. PERFORM F_ALV_MODIFY_LISTHEADER . REFRESH G_ALV_FIELDCAT. PERFORM F_ALV_BUILD_FIELDCAT. PERFORM F_ALV_BUILD_EVENTCAT. PERFORM F_ALV_DISPLAY. * STOP.
ENDFORM. " F_PRINT_ALV ************************************************************************ *设置ALV报表输出时的抬头信息 FORM F_ALV_MODIFY_LISTHEADER . DATA : L_ALV_LISTHEADER_LINE LIKE LINE OF G_ALV_LISTHEADER. L_ALV_LISTHEADER_LINE-TYP = 'S'. L_ALV_LISTHEADER_LINE-KEY = 'PPAP订单为黄色背景色'. L_ALV_LISTHEADER_LINE-INFO = 'BOM不完整(包装或产品未输出),BOM/CQS/生产评审为红色背景色'. APPEND L_ALV_LISTHEADER_LINE TO G_ALV_LISTHEADER. L_ALV_LISTHEADER_LINE-TYP = 'S'. L_ALV_LISTHEADER_LINE-KEY = ''. L_ALV_LISTHEADER_LINE-INFO = '双击功能:物料->MM03 累计提前期限 -> ZT07'. APPEND L_ALV_LISTHEADER_LINE TO G_ALV_LISTHEADER. ENDFORM. " F_ALV_MODIFY_LISTHEADER ************************************************************************ *设置ALV报表输出时的字段 NEED MODIFY FORM F_ALV_BUILD_FIELDCAT . DATA : COL_POS TYPE I VALUE 0. G_ALV_LAYOUT-GET_SELINFOS = 'X'. G_ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'. G_ALV_LAYOUT-DETAIL_POPUP = 'X'. * G_ALV_LAYOUT-EDIT = 'X'. G_ALV_LAYOUT-BOX_FIELDNAME = 'FLAG'. G_ALV_LAYOUT-NO_KEYFIX = 'X'. G_ALV_LAYOUT-COLWIDTH_OPTIMIZE = 'X'.
"增加色彩行 G_ALV_LAYOUT-COLTAB_FIELDNAME = 'COLOR1'. G_ALV_LAYOUT-INFO_FIELDNAME = 'COLOR'.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BSTKD_E'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'BSTKD_E'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'SO 号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'SO 号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'SO 号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VBELN'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VBELN'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '订单编号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '订单编号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '订单编号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'POSNR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'POSNR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '项目号->ZP49'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '项目号->ZP49'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '项目号->ZP49'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VKAUS'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VKAUS'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '项目用途'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '项目用途'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '项目用途'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'ABRVW'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ABRVW'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = '抬头用途'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '抬头用途'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '抬头用途'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'AUART'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'AUART'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = '订单类型'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '订单类型'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '订单类型'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'ABGRU'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ABGRU'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = '拒绝原因'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '拒绝原因'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '拒绝原因'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'ERDAT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ERDAT'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '下单日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '下单日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '下单日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BSTNK'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'BSTNK'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '客户采购单号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '客户采购单号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '客户采购单号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KUNNR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'KUNNR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '客户编号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '客户编号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '客户编号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'KNA1'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'NAME1'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'NAME1'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '客户名称'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '客户名称'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '客户名称'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KUNNR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ZKUNNR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '送达方编号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '送达方编号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '送达方编号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'KNA1'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'NAME1'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'NAME2'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '送达方名称'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '送达方名称'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '送达方名称'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VKORG'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VKORG'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '销售机构'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '销售机构'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '销售机构'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VTWEG'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VTWEG'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '分销渠道'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '分销渠道'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '分销渠道'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VKBUR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VKBUR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '销售办事处'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '销售办事处'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '销售办事处'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VKGRP'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VKGRP'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '销售组'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '销售组'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '销售组'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VTEXT1'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产厂别'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产厂别'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产厂别'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VTEXT'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '新/老产品'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '新/老产品'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '新/老产品'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'T178T'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'SOVTE'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'SO新/老产品-生管'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'SO新/老产品-生管'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'SO新/老产品-生管'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'VDATU'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'VDATU'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '请求交货日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '请求交货日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '请求交货日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBEP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'EDATU'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'EDATU'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '行项目交期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '行项目交期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '行项目交期'. * G_ALV_FIELDCAT_LINE-REPTEXT_DDIC = '内部交期'. "交货日期 G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'STKO'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'STLST'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'STLST'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM状态'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM状态'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM状态'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MARA'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MATNR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'MATNR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '物料编号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '物料编号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '物料编号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MARA'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'BISMT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'BISMT'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '旧物料'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '旧物料'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '旧物料'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MAKT'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'MAKTX'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'MAKTX'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '物料描述'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '物料描述'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '物料描述'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KDMAT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'KDMAT'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '客户物料编号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '客户物料编号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '客户物料编号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KWMENG'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'KWMENG'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = ''. G_ALV_FIELDCAT_LINE-SELTEXT_L = ''. G_ALV_FIELDCAT_LINE-SELTEXT_M = '数量'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'JEST'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'INACT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'E1'. G_ALV_FIELDCAT_LINE-CHECKBOX = 'X'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'COS评审'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'COS评审'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'COS评审'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ET1'. G_ALV_FIELDCAT_LINE-CHECKBOX = ''. G_ALV_FIELDCAT_LINE-KEY = ''. * 权限控制,S43A权限组能修改“COS评审意见”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43A'. IF SY-SUBRC = 0 . G_ALV_FIELDCAT_LINE-EDIT = 'X'. ENDIF. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'COS评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'COS评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'COS评审备注'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'USNAM0'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'COS评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'COS评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'COS评审人'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'PA0001'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'SNAME'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'SNAME'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '销售人员'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '销售人员'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '销售人员'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UDATE0'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'COS评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'COS评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'COS评审日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UTIME0'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'COS评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'COS评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'COS评审时间'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS . G_ALV_FIELDCAT_LINE-REF_TABNAME = 'JEST'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'INACT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'E5'. G_ALV_FIELDCAT_LINE-CHECKBOX = 'X'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'GCM评审'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'GCM评审'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'GCM评审'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS . G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ET5'. G_ALV_FIELDCAT_LINE-CHECKBOX = ''. G_ALV_FIELDCAT_LINE-KEY = ''. * 权限控制,AACC权限组能修改“GCM评审意见”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43G'. IF SY-SUBRC = 0 . G_ALV_FIELDCAT_LINE-EDIT = 'X'. ENDIF. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'GCM评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'GCM评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'GCM评审备注'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'USNAM4'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'GCM评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'GCM评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'GCM评审人'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UDATE4'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'GCM评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'GCM评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'GCM评审日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UTIME4'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'GCM评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'GCM评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'GCM评审时间'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS . G_ALV_FIELDCAT_LINE-REF_TABNAME = 'JEST'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'INACT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'E2'. G_ALV_FIELDCAT_LINE-CHECKBOX = 'X'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM评审'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM评审'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM评审'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS . G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ET2'. G_ALV_FIELDCAT_LINE-CHECKBOX = ''. G_ALV_FIELDCAT_LINE-KEY = ''. * 权限控制,AACC权限组能修改“BOM评审意见”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43B'. IF SY-SUBRC = 0 . G_ALV_FIELDCAT_LINE-EDIT = 'X'. ENDIF. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM评审备注'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'USNAM1'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM评审人'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UDATE1'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM评审日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UTIME1'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM评审时间'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'E3'. G_ALV_FIELDCAT_LINE-CHECKBOX = 'X'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'CQS评审'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'CQS评审'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'CQS评审'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'KTEXT'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'ET3'. G_ALV_FIELDCAT_LINE-CHECKBOX = ''. G_ALV_FIELDCAT_LINE-KEY = ''. * 权限控制,S43C权限组能修改“CQS评审意见”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 . G_ALV_FIELDCAT_LINE-EDIT = 'X'. ENDIF. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'CQS评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'CQS评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'CQS评审备注'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. * G_ALV_FIELDCAT_LINE-FIELDNAME = 'USNAM2'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'HOST2'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'CQS评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'CQS评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'CQS评审人'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UDATE2'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'CQS评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'CQS评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'CQS评审日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UTIME2'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'CQS评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'CQS评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'CQS评审时间'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'E4'. G_ALV_FIELDCAT_LINE-CHECKBOX = 'X'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产评审'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产评审'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产评审'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'TLINE'."VBAK G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'TDLINE'."KTEXT G_ALV_FIELDCAT_LINE-FIELDNAME = 'ET4'. G_ALV_FIELDCAT_LINE-CHECKBOX = ''. G_ALV_FIELDCAT_LINE-KEY = ''. * 权限控制,S43D权限组能修改“生产评审意见”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43D'. IF SY-SUBRC = 0 . G_ALV_FIELDCAT_LINE-EDIT = 'X'. ENDIF. G_ALV_FIELDCAT_LINE-DDICTXT(1) = 'L'. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产评审备注'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产评审备注'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'USNAM3'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-EDIT = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产评审人'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产评审人'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UDATE3'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产评审日期'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产评审日期'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = ''. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = ''. G_ALV_FIELDCAT_LINE-FIELDNAME = 'UTIME3'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '生产评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '生产评审时间'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '生产评审时间'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'MARC'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'STRGR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'STRGR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '策略组'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '策略组'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '策略组'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'SERNR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'SERNR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = 'BOM展开号'. G_ALV_FIELDCAT_LINE-SELTEXT_L = 'BOM展开号'. G_ALV_FIELDCAT_LINE-SELTEXT_M = 'BOM展开号'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'AUGRU'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'AUGRU'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '订单原因'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '订单原因'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '订单原因'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
* 权限控制,AAAA权限组能显示“标准成本”相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'AAAA'. IF SY-SUBRC = 0 . ENDIF. * 权限控制,BBBB权限组能显示“采购价格”相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'BBBB'. IF SY-SUBRC = 0 . ENDIF. * 权限控制,CCCC权限组能显示“销售价格”相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'CCCC'. IF SY-SUBRC = 0 . ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'NETWR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'NETWR_D'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '单价'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '单价'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '单价'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAK'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'NETWR'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'NETWR'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '总价'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '总价'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '总价'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT.
ADD 1 TO COL_POS. G_ALV_FIELDCAT_LINE-REF_TABNAME = 'VBAP'. G_ALV_FIELDCAT_LINE-TABNAME = 'IT_PRINT_001'. G_ALV_FIELDCAT_LINE-REF_FIELDNAME = 'WAERK'. G_ALV_FIELDCAT_LINE-FIELDNAME = 'WAERK'. G_ALV_FIELDCAT_LINE-KEY = ''. G_ALV_FIELDCAT_LINE-SELTEXT_S = '货币'. G_ALV_FIELDCAT_LINE-SELTEXT_L = '货币'. G_ALV_FIELDCAT_LINE-SELTEXT_M = '货币'. G_ALV_FIELDCAT_LINE-COL_POS = COL_POS. APPEND G_ALV_FIELDCAT_LINE TO G_ALV_FIELDCAT. ENDIF. * 权限控制,AABB权限组能显示“标准成本和采购价格”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'AABB'. IF SY-SUBRC = 0 . ENDIF. * 权限控制,AACC权限组能显示“标准成本和销售价格”的相关字段,如毛利润等 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'AACC'. IF SY-SUBRC = 0 .
ENDIF. ENDFORM. " F_ALV_BUILD_FIELDCAT ************************************************************************ *改变ALV的TOP_OF_PAGE事件处理过程 FORM F_ALV_BUILD_EVENTCAT . DATA : LS_EVENT TYPE SLIS_ALV_EVENT. CALL FUNCTION 'REUSE_ALV_EVENTS_GET' EXPORTING I_LIST_TYPE = 0 IMPORTING ET_EVENTS = G_ALV_EVENT. READ TABLE G_ALV_EVENT WITH KEY NAME = SLIS_EV_TOP_OF_PAGE INTO LS_EVENT. IF SY-SUBRC = 0. MOVE G_ALV_FORMNAME_TOP_OF_PAGE TO LS_EVENT-FORM. APPEND LS_EVENT TO G_ALV_EVENT. ENDIF.
* READ TABLE G_ALV_EVENT WITH KEY NAME = * SLIS_EV_END_OF_LIST INTO LS_EVENT. * IF SY-SUBRC = 0. * MOVE G_ALV_FORMNAME_END_OF_LIST TO LS_EVENT-FORM. * APPEND LS_EVENT TO G_ALV_EVENT. * ENDIF. ENDFORM. " F_ALV_BUILD_EVENTCAT ************************************************************************ *调用ALV控件的输出程序 FORM F_ALV_DISPLAY . CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY' EXPORTING I_CALLBACK_PROGRAM = 'ZR_SD_043' I_CALLBACK_USER_COMMAND = 'F_ALV_USER_COMMAND' I_CALLBACK_PF_STATUS_SET = 'MENU_SET' IS_LAYOUT = G_ALV_LAYOUT "输出格式 IT_FIELDCAT = G_ALV_FIELDCAT I_SAVE = 'A' * I_STRUCTURE_NAME = 'CAUFVD' IT_EVENTS = G_ALV_EVENT I_GRID_TITLE = '' "NEED MODIFY TABLES T_OUTTAB = IT_PRINT_001 EXCEPTIONS PROGRAM_ERROR = 1 OTHERS = 2.
ENDFORM. " F_ALV_DISPLAY *********************************************************************** *设置GUI菜单栏 FORM MENU_SET USING RT_EXTAB TYPE SLIS_T_EXTAB. SET PF-STATUS 'ZS43'. ENDFORM. "menu_set ************************************************************************ *ALV控件双击事件的接口 FORM F_ALV_USER_COMMAND USING R_UCOMM LIKE SY-UCOMM RS_SELFIELD TYPE SLIS_SELFIELD. * DATA L_TEMP LIKE LINE OF IT_PRINT_001. DATA S_TEMP(100) TYPE C. DATA S_FN(10) TYPE C. DATA ZMA LIKE IT_PRINT_001-MATNR.
G_SELECTED_FIELD_VALUE = RS_SELFIELD-VALUE. G_TABINDEX = RS_SELFIELD-TABINDEX. READ TABLE IT_PRINT_001 INTO L_TEMP INDEX G_TABINDEX. CASE R_UCOMM. WHEN '&IC1' . IF RS_SELFIELD-FIELDNAME = 'POSNR'. PERFORM F_BDC_EXECUTE_003. ELSEIF RS_SELFIELD-FIELDNAME = 'ET1'. "MODIFY IF L_TEMP-ET1 <> ''. REFRESH IT_LTEXT. PERFORM F_SUB_GET_TEXT USING L_TEMP-VBELN '0006' CHANGING IT_PRINT_001-ET1.
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY' "调用显示框函数死循环,运行不出来 EXPORTING ENDPOS_COL = '80' ENDPOS_ROW = '10' STARTPOS_COL = '3' STARTPOS_ROW = '3' TITLETEXT = 'COS评审意见明细' TABLES VALUETAB = IT_LTEXT EXCEPTIONS BREAK_OFF = 1. ENDIF. ENDIF.
CLEAR: S_TEMP,S_FN.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD L_TEMP-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE. IF RS_SELFIELD-FIELDNAME = 'E2 '. IF RS_SELFIELD-VALUE = '1'. MESSAGE E017. ELSEIF L_TEMP-E1 = 'X' . S_FN = 'E2 '. ELSE. MESSAGE E011. ENDIF. ELSEIF RS_SELFIELD-FIELDNAME = 'E3 '. IF RS_SELFIELD-VALUE = '1'. MESSAGE E017. ELSEIF L_TEMP-E2 = 'X'. S_FN = 'E3 '. ELSEIF L_TEMP-E2 = '' AND L_TEMP-MMKON = '01' . S_FN = 'E3B '. ELSE. MESSAGE E011. ENDIF. ELSEIF RS_SELFIELD-FIELDNAME = 'E4 '. IF RS_SELFIELD-VALUE = '1'. MESSAGE E017. ELSEIF L_TEMP-E3 = 'X'. S_FN = 'E4 '. ELSE. MESSAGE E011. ENDIF. ENDIF.
IF S_FN <> ''.
S_TEMP = L_TEMP-POSNR. CALL FUNCTION 'ZF_CALL_TECODE' EXPORTING P_TCODE = 'VA02' P_EXTRA1 = L_TEMP-VBELN P_EXTRA2 = S_FN P_EXTRA3 = S_TEMP.
IF SY-SUBRC = 0 AND S_FN = 'E3' AND L_TEMP-MMKON <> '01'. * 权限控制,S43C权限组能修改“CQS评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 . PERFORM F_BDC_EXECUTE_004. ENDIF. ENDIF. "CQS评审加电脑名 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 . DATA USERN TYPE STRING. CALL FUNCTION 'Z_RETURN_USERNAME' IMPORTING USERNAME = USERN. TRANSLATE USERN TO UPPER CASE . SELECT SINGLE ZNAME FROM ZDT02 INTO L_TEMP-HOST2 WHERE ZPC = USERN.
* CALL FUNCTION 'TERMINAL_ID_GET' * EXPORTING * USERNAME = SY-UNAME " * IMPORTING * TERMINAL = IP_UNAME "IP + HOSTNAME * EXCEPTIONS * MULTIPLE_TERMINAL_ID = 1 * NO_TERMINAL_FOUND = 2. * SPLIT IP_UNAME AT '-' INTO L_TEMP-IPDEC2 L_TEMP-HOST2. * CONCATENATE SY-UNAME '|' L_TEMP-HOST2 INTO L_TEMP-HOST2. MOVE L_TEMP-VBELN TO ZJCDS-VBELN. MOVE L_TEMP-POSNR TO ZJCDS-POSNR. MOVE L_TEMP-HOST2 TO ZJCDS-CQSNAME. MODIFY ZJCDS. ENDIF. ENDIF. ENDIF. CLEAR L_TEMP. WHEN '&DATA_SAVE'. LOOP AT IT_PRINT_001. IF IT_PRINT_001-AUART = 'ZFD'. "把免费订单与其他订单的评审分开 PERFORM F_SUB_SAVE_TEST_001. PERFORM F_SUB_SAVE_TEST_005. PERFORM F_SUB_SAVE_TEST_002. PERFORM F_SUB_SAVE_TEST_003. PERFORM F_SUB_SAVE_TEST_004. ELSEIF IT_PRINT_001-AUART = 'ZMJ'. PERFORM F_SUB_SAVE_TEST_001. PERFORM F_SUB_SAVE_TEST_005. ELSE. PERFORM F_SUB_SAVE_TEST_001. PERFORM F_SUB_SAVE_TEST_002. PERFORM F_SUB_SAVE_TEST_003. PERFORM F_SUB_SAVE_TEST_004. ENDIF. ENDLOOP. WHEN 'PSH'. SORT IT_PRINT_001 BY FLAG VBELN POSNR." PERFORM F_BDC_EXECUTE_002. * 权限控制,S43C权限组能修改“CQS评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 . LOOP AT IT_PRINT_001 WHERE FLAG = 'X' AND MMKON <> '01' AND E3 = '' AND E2 = 'X'. IF IT_PRINT_001-MATNR <> ZMA AND IT_PRINT_001-VKORG <> '3000'. L_TEMP = IT_PRINT_001. PERFORM F_BDC_EXECUTE_004. ZMA = IT_PRINT_001-MATNR.
ELSEIF IT_PRINT_001-MATNR <> ZMA AND IT_PRINT_001-VKORG = '3000' * AND ( IT_PRINT_001-MATNR+0(3) = '80R' OR IT_PRINT_001-MATNR+0(3) = '80T' ) AND SY-UNAME = 'WTCQS'."20090609更改权限 AND ( IT_PRINT_001-MATNR+2(1) <> 'A' AND IT_PRINT_001-MATNR+2(1) <> 'B' AND IT_PRINT_001-MATNR+2(1) <> 'C' AND IT_PRINT_001-MATNR+2(1) <> 'Y') AND SY-UNAME = 'WTCQS'. L_TEMP = IT_PRINT_001. PERFORM F_BDC_EXECUTE_004. ZMA = IT_PRINT_001-MATNR. ELSEIF IT_PRINT_001-MATNR <> ZMA AND IT_PRINT_001-VKORG = '3000' AND IT_PRINT_001-MATNR+0(3) <> '80R' AND SY-UNAME <> 'WTCQS'. L_TEMP = IT_PRINT_001. PERFORM F_BDC_EXECUTE_004. ZMA = IT_PRINT_001-MATNR. ENDIF. CLEAR:L_TEMP.
CLEAR IT_PRINT_001. ENDLOOP. CLEAR:ZMA.
ENDIF. SET SCREEN 0. PERFORM F_READ_DATA. PERFORM F_PRINT_ALV. * DATA: LR_GRID TYPE REF TO CL_GUI_ALV_GRID. * CALL FUNCTION 'GET_GLOBALS_FROM_SLVC_FULLSCR' * IMPORTING * E_GRID = LR_GRID. * CALL METHOD LR_GRID->CHECK_CHANGED_DATA. * RS_SELFIELD-REFRESH = 'X'. "自动刷新
* PERFORM SUB_PSH. "订单评审BDC执行 WHEN 'REFR'. SET SCREEN 0. PERFORM F_READ_DATA. PERFORM F_PRINT_ALV. WHEN 'EXIT'. SET SCREEN 0. * LEAVE TO SCREEN 0. WHEN OTHERS. ENDCASE. ENDFORM. "F_ALV_USER_COMMAND ************************************************************************ *调用ALV控件的抬头输出程序 FORM F_ALV_EVENT_TOP_OF_PAGE. CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE' EXPORTING IT_LIST_COMMENTARY = G_ALV_LISTHEADER. ENDFORM. "F_ALV_EVENT_TOP_OF_PAGE ************************************************************************ *输出ALV的页脚 FORM F_ALV_EVENT_END_OF_LIST.
ENDFORM. "F_ALV_EVENT_END_OF_LIST ************************************************************************ *弹出文件对话框,确定参数P_FILE FORM F_FILE_GET. CLEAR P_FILE. CALL FUNCTION 'WS_FILENAME_GET' EXPORTING DEF_FILENAME = P_FILE DEF_PATH = '/' MASK = '*.xls,*.xls.' MODE = 'O' TITLE = 'XXX数据倒入' "NEED MODIFY IMPORTING FILENAME = P_FILE EXCEPTIONS INV_WINSYS = 01 NO_BATCH = 02 SELECTION_CANCEL = 03 SELECTION_ERROR = 04. IF SY-SUBRC EQ 0. IF P_FILE = '*.xls'. CLEAR P_FILE. ENDIF. ENDIF. ENDFORM. " F_FILE_GET ************************************************************************ *打开EXCEL文件 FORM F_FILE_OPEN. CREATE OBJECT EXCEL 'Excel.Application'. CALL METHOD OF EXCEL 'Workbooks' = WORKBOOK. CALL METHOD OF WORKBOOK 'Open' EXPORTING #1 = P_FILE.
IF SY-SUBRC <> 0 . MESSAGE W230 WITH P_FILE. EXIT. ENDIF. ENDFORM. " F_FILE_OPEN ************************************************************************ *读取EXCEL表格的数据,充填到内表IT_EXCEL_001中 FORM F_FILE_READ_DATA. DATA L_ROW TYPE I. DATA L_H TYPE I. DATA L_STR(40).
L_H = 2. DO. *NEED MODIFY: 可以根据EXCEL表格字段量的不同做相应的扩展。这里只适用字段 *数量不多于5个的情况,如有更多的字段,则必须进行相应的扩展。扩展后内表 *IT_EXCEL_001的字段也要做相应的增加。 CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = L_H #2 = 1. GET PROPERTY OF CELL 'VALUE' = L_STR. MOVE L_STR TO IT_EXCEL_001-COLUMN_001.
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = L_H #2 = 2. GET PROPERTY OF CELL 'VALUE' = L_STR. MOVE L_STR TO IT_EXCEL_001-COLUMN_002.
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = L_H #2 = 3. GET PROPERTY OF CELL 'VALUE' = L_STR. MOVE L_STR TO IT_EXCEL_001-COLUMN_003.
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = L_H #2 = 4. GET PROPERTY OF CELL 'VALUE' = L_STR. MOVE L_STR TO IT_EXCEL_001-COLUMN_004.
CALL METHOD OF EXCEL 'CELLS' = CELL EXPORTING #1 = L_H #2 = 5. GET PROPERTY OF CELL 'VALUE' = L_STR. MOVE L_STR TO IT_EXCEL_001-COLUMN_005.
IF IT_EXCEL_001-COLUMN_001 <= ''. EXIT. ENDIF.
APPEND IT_EXCEL_001. CLEAR IT_EXCEL_001. L_H = L_H + 1. ENDDO. ENDFORM. " F_FILE_READ_DATA ************************************************************************ *关闭EXECL文件 FORM F_FILE_CLOSE. CALL METHOD OF EXCEL 'QUIT'. FREE OBJECT CELL. FREE OBJECT WORKBOOK. FREE OBJECT EXCEL. IF SY-SUBRC NE 0 . MESSAGE E001. ENDIF. ENDFORM. " F_FILE_CLOSE ************************************************************************ *设置报表输出时,每个字段的输出位置 FORM F_WRITE_INIT_POSITION USING PF_ZDKD "字段宽度 . DATA L_OLD_POSTION TYPE I. DATA L_NEW_POSTION TYPE I. DATA L_OLD_INDEX TYPE I.
IF PF_ZDKD = 9999. REFRESH IT_WRITE_POSITION. G_INIT_COUNT = 0 . ELSE. L_OLD_INDEX = G_INIT_COUNT . G_INIT_COUNT = G_INIT_COUNT + 1. IF G_INIT_COUNT = 1 . L_NEW_POSTION = 1. ELSE. READ TABLE IT_WRITE_POSITION INTO L_OLD_POSTION INDEX L_OLD_INDEX. L_NEW_POSTION = L_OLD_POSTION + G_LAST_FILED_WIDTH. ENDIF. APPEND L_NEW_POSTION TO IT_WRITE_POSITION . ENDIF. G_LAST_FILED_WIDTH = PF_ZDKD. ENDFORM. "F_WRITE_INIT_POSITION ************************************************************************ *作用与WRITE命令类似,对齐模式通过参数指定 FORM F_WRITE_OUTPUT USING PF_SCNR "输出内容,可能输出SY-VLINE PF_DQMS "对齐模式,三种 (L)EFT-JUSTIFIED . (C)CENTERED . (R)IGHT-JUSTIFIED. DATA L_WRITE_POSITION TYPE I.
G_WRITE_COUNT = G_WRITE_COUNT + 1. READ TABLE IT_WRITE_POSITION INTO L_WRITE_POSITION INDEX G_WRITE_COUNT. CASE PF_DQMS. WHEN 'L' OR ''. WRITE: AT L_WRITE_POSITION PF_SCNR LEFT-JUSTIFIED. WHEN 'C'. WRITE: AT L_WRITE_POSITION PF_SCNR CENTERED. WHEN 'R'. WRITE: AT L_WRITE_POSITION PF_SCNR RIGHT-JUSTIFIED. ENDCASE. ENDFORM. "F_WRITE_OUTPUT ************************************************************** *COS评审意见 FORM F_SUB_SAVE_TEST_001. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE"长文本信息 INITIAL SIZE 1 WITH HEADER LINE. DATA: T_HEAD LIKE THEAD. DATA: T_HEAD1 LIKE THEAD. DATA L_FUNCTION.
LOOP AT IT_PRINT_001 WHERE ET1 <> ''." AND FLAG = 'X'
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD IT_PRINT_001-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE. *1 REFRESH T_TEXT. T_TEXT-TDFORMAT = 'TX'. T_TEXT-TDLINE = IT_PRINT_001-ET1. APPEND T_TEXT. *2 CLEAR T_HEAD. T_HEAD-TDOBJECT = 'VBBP'. T_HEAD-TDNAME = IT_PRINT_001-OBJNR1. T_HEAD-TDID = '0006'. T_HEAD-TDSPRAS = '1'. T_HEAD-TDFORM = 'SYSTEM'.
*3 CALL FUNCTION 'SAVE_TEXT' EXPORTING CLIENT = SYST-MANDT HEADER = T_HEAD * INSERT = 'X' SAVEMODE_DIRECT = 'X' IMPORTING FUNCTION = L_FUNCTION NEWHEADER = T_HEAD1 TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 OBJECT = 4.
IF L_FUNCTION <> 'I' AND L_FUNCTION <> 'U'. MESSAGE E014 WITH IT_PRINT_001-OBJNR1. ELSE. MESSAGE S016 . ENDIF. ENDIF. ENDLOOP. ENDFORM. " F_SUB_SAVE_TEST_001
*免费订单GCM评审意见 FORM F_SUB_SAVE_TEST_005. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE"长文本信息 INITIAL SIZE 1 WITH HEADER LINE. DATA: T_HEAD LIKE THEAD. DATA: T_HEAD1 LIKE THEAD. DATA L_FUNCTION.
LOOP AT IT_PRINT_001 WHERE ET5 <> ''." AND FLAG = 'X'
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD IT_PRINT_001-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE. *1 REFRESH T_TEXT. T_TEXT-TDFORMAT = 'TX'. T_TEXT-TDLINE = IT_PRINT_001-ET5. APPEND T_TEXT. *2 CLEAR T_HEAD. T_HEAD-TDOBJECT = 'VBBP'. T_HEAD-TDNAME = IT_PRINT_001-OBJNR1. T_HEAD-TDID = '0001'. T_HEAD-TDSPRAS = '1'. T_HEAD-TDFORM = 'SYSTEM'.
*3 CALL FUNCTION 'SAVE_TEXT' EXPORTING CLIENT = SYST-MANDT HEADER = T_HEAD * INSERT = 'X' SAVEMODE_DIRECT = 'X' IMPORTING FUNCTION = L_FUNCTION NEWHEADER = T_HEAD1 TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 OBJECT = 4.
IF L_FUNCTION <> 'I' AND L_FUNCTION <> 'U'. MESSAGE E014 WITH IT_PRINT_001-OBJNR1. ELSE. MESSAGE S016 . ENDIF. ENDIF. ENDLOOP. ENDFORM. " F_SUB_SAVE_TEST_005
*BOM评审意见 FORM F_SUB_SAVE_TEST_002. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE"长文本信息 INITIAL SIZE 1 WITH HEADER LINE. DATA: T_HEAD LIKE THEAD. DATA: T_HEAD1 LIKE THEAD. DATA L_FUNCTION.
LOOP AT IT_PRINT_001 WHERE ET2 <> '' ."AND FLAG = 'X' AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD IT_PRINT_001-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE.
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR AND STAT = 'E0002'.
IF SY-SUBRC <> 0. "没作评审之前保存文本 *1 REFRESH T_TEXT. T_TEXT-TDFORMAT = 'TX'. T_TEXT-TDLINE = IT_PRINT_001-ET2. APPEND T_TEXT. *2 CLEAR T_HEAD. T_HEAD-TDOBJECT = 'VBBP'. T_HEAD-TDNAME = IT_PRINT_001-OBJNR1. T_HEAD-TDID = '0007'. T_HEAD-TDSPRAS = '1'. T_HEAD-TDFORM = 'SYSTEM'.
*3 CALL FUNCTION 'SAVE_TEXT' EXPORTING CLIENT = SYST-MANDT HEADER = T_HEAD * INSERT = 'X' SAVEMODE_DIRECT = 'X' IMPORTING FUNCTION = L_FUNCTION NEWHEADER = T_HEAD1 TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 OBJECT = 4. IF L_FUNCTION <> 'I' AND L_FUNCTION <> 'U'. MESSAGE E014 WITH IT_PRINT_001-OBJNR1. ELSE. MESSAGE S016. ENDIF. ENDIF."SY-SUBRC ENDIF. ENDLOOP. ENDFORM. " F_SUB_SAVE_TEST_002 *CQS评审意见 FORM F_SUB_SAVE_TEST_003. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE"长文本信息 INITIAL SIZE 1 WITH HEADER LINE. DATA: T_HEAD LIKE THEAD. DATA: T_HEAD1 LIKE THEAD. DATA L_FUNCTION.
LOOP AT IT_PRINT_001 WHERE ET3 <> '' ."AND FLAG = 'X' AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD IT_PRINT_001-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE.
SELECT SINGLE * FROM JEST INTO JEST WHERE OBJNR = IT_PRINT_001-OBJNR * AND STAT = 'E0003'. AND STAT = 'E0004'. "改为生产没有评审前都可以保存文本 ELIN 20090601 IF SY-SUBRC <> 0. *1 REFRESH T_TEXT. T_TEXT-TDFORMAT = 'TX'. T_TEXT-TDLINE = IT_PRINT_001-ET3. APPEND T_TEXT. *2 CLEAR T_HEAD. T_HEAD-TDOBJECT = 'VBBP'. T_HEAD-TDNAME = IT_PRINT_001-OBJNR1. T_HEAD-TDID = '0008'. T_HEAD-TDSPRAS = '1'. T_HEAD-TDFORM = 'SYSTEM'.
*3 CALL FUNCTION 'SAVE_TEXT' EXPORTING CLIENT = SYST-MANDT HEADER = T_HEAD * INSERT = 'X' SAVEMODE_DIRECT = 'X' IMPORTING FUNCTION = L_FUNCTION NEWHEADER = T_HEAD1 TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 OBJECT = 4.
IF L_FUNCTION <> 'I' AND L_FUNCTION <> 'U'. MESSAGE E014 WITH IT_PRINT_001-OBJNR1. ELSE. MESSAGE S016. ENDIF. ENDIF."SY-SUBRC ENDIF. ENDLOOP. ENDFORM. " F_SUB_SAVE_TEST_003 *生产评审意见 FORM F_SUB_SAVE_TEST_004. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE"长文本信息 INITIAL SIZE 1 WITH HEADER LINE. DATA: T_HEAD LIKE THEAD. DATA: T_HEAD1 LIKE THEAD. DATA L_FUNCTION.
LOOP AT IT_PRINT_001 ."AND FLAG = 'X'WHERE ET4 <> '' AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD IT_PRINT_001-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE. *1 REFRESH T_TEXT. T_TEXT-TDFORMAT = 'TX'. T_TEXT-TDLINE = IT_PRINT_001-ET4. APPEND T_TEXT. *2 CLEAR T_HEAD. T_HEAD-TDOBJECT = 'VBBP'. T_HEAD-TDNAME = IT_PRINT_001-OBJNR1. T_HEAD-TDID = '0009'. T_HEAD-TDSPRAS = '1'. T_HEAD-TDFORM = 'SYSTEM'.
*3 CALL FUNCTION 'SAVE_TEXT' EXPORTING CLIENT = SYST-MANDT HEADER = T_HEAD * INSERT = 'X' SAVEMODE_DIRECT = 'X' IMPORTING FUNCTION = L_FUNCTION NEWHEADER = T_HEAD1 TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 OBJECT = 4.
IF L_FUNCTION <> 'I' AND L_FUNCTION <> 'U'. MESSAGE E014 WITH IT_PRINT_001-OBJNR1. ELSE. MESSAGE S016. ENDIF. ENDIF. ENDLOOP. ENDFORM. " F_SUB_SAVE_TEST_004
************************************************************** *取订单文本 FORM F_SUB_GET_TEXT USING P_P_EBELN VALUE(P_0087) CHANGING P_L_STR. DATA: T_TEXT TYPE STANDARD TABLE OF TLINE "长文本信息 INITIAL SIZE 1 WITH HEADER LINE. TABLES: STXL.
CLEAR T_TEXT. CLEAR STXL.
SELECT SINGLE * FROM STXL INTO STXL WHERE TDNAME = P_P_EBELN AND TDOBJECT = 'VBBP' AND TDID = P_0087. IF SY-SUBRC EQ 0. CALL FUNCTION 'READ_TEXT' EXPORTING ID = STXL-TDID LANGUAGE = STXL-TDSPRAS NAME = STXL-TDNAME OBJECT = STXL-TDOBJECT TABLES LINES = T_TEXT EXCEPTIONS ID = 1 LANGUAGE = 2 NAME = 3 NOT_FOUND = 4 OBJECT = 5. IF SY-SUBRC EQ 0. LOOP AT T_TEXT. CONCATENATE P_L_STR T_TEXT-TDLINE INTO P_L_STR. ENDLOOP. ENDIF. ENDIF. ENDFORM. " F_SUB_GET_TEXT *********************************************************** FORM F_BDC_EXECUTE_002. " 批量评审 * SORT IT_PRINT_001 BY VBELN POSNR."FLAG LOOP AT IT_PRINT_001 WHERE FLAG = 'X'. Z_AREA = IT_PRINT_001. AT NEW VBELN. AUTHORITY-CHECK OBJECT 'V_VBAK_VKO' ID 'VKORG' FIELD Z_AREA-VKORG.
IF SY-SUBRC <> 0. MESSAGE E015. ELSE. REFRESH IT_BDCDATA_001. PERFORM F_BDC_GET_BDCDATA_001A. ENDIF. ENDAT.
* 权限控制,S43B权限组能修改“GCM评审”的相关字段 IF IT_PRINT_001-AUART = 'ZFD'. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43G'. "免费订单走不同的BDC IF SY-SUBRC = 0 AND Z_AREA-E4 <> 'X' AND Z_AREA-E5 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001GCM. ENDIF. * 权限控制,S43B权限组能修改“BOM评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43B'. IF SY-SUBRC = 0 AND Z_AREA-E5 = 'X' AND Z_AREA-E2 <> 'X' AND Z_AREA-STLST <> '5'. PERFORM F_BDC_GET_BDCDATA_001BOM2. ENDIF. * 权限控制,S43C权限组能修改“CQS评审”的相关字段 IF IT_PRINT_001-VKORG <> '3000'. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS2. ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E5 = 'X' AND Z_AREA-E3 <> 'X'.
PERFORM F_BDC_GET_BDCDATA_001BCQS2. ENDIF. ELSEIF IT_PRINT_001-VKORG = '3000' * AND ( IT_PRINT_001-MATNR+0(3) = '80R' OR IT_PRINT_001-MATNR+0(3) = '80T' ) AND SY-UNAME = 'WTCQS'. AND ( IT_PRINT_001-MATNR+2(1) <> 'A' AND IT_PRINT_001-MATNR+2(1) <> 'B' AND IT_PRINT_001-MATNR+2(1) <> 'C' AND IT_PRINT_001-MATNR+2(1) <> 'Y') AND SY-UNAME = 'WTCQS'.
AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS2. ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E5 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001BCQS2. ENDIF. ELSEIF IT_PRINT_001-VKORG = '3000' AND IT_PRINT_001-MATNR+0(3) <> '80R' AND SY-UNAME <> 'WTCQS'. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS2. ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E5 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001BCQS2. ENDIF. ENDIF. * 权限控制,S43D权限组能修改“生产评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43D'. IF SY-SUBRC = 0 AND Z_AREA-E3 = 'X' AND Z_AREA-E4 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001SG2. ENDIF. ELSEIF IT_PRINT_001-AUART = 'ZMJ'. "收费样品订单 * 权限控制,S43B权限组能修改“GCM评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43G'. IF SY-SUBRC = 0 AND Z_AREA-E5 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001GCM2. ENDIF. ELSE. * 权限控制,S43B权限组能修改“BOM评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43B'. IF SY-SUBRC = 0 AND Z_AREA-E4 <> 'X' AND Z_AREA-E2 <> 'X' AND Z_AREA-STLST <> '5'. "BOM状态为5的不评审 PERFORM F_BDC_GET_BDCDATA_001BOM. ENDIF. * 权限控制,S43C权限组能修改“CQS评审”的相关字段 * AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. * IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. * PERFORM F_BDC_GET_BDCDATA_001CQS. * ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E3 <> 'X'. * PERFORM F_BDC_GET_BDCDATA_001BCQS. * ENDIF. IF IT_PRINT_001-VKORG <> '3000'. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS.
ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001BCQS. ENDIF. ELSEIF IT_PRINT_001-VKORG = '3000' * AND ( IT_PRINT_001-MATNR+0(3) = '80R' OR IT_PRINT_001-MATNR+0(3) = '80T' ) AND SY-UNAME = 'WTCQS'. AND ( IT_PRINT_001-MATNR+2(1) <> 'A' AND IT_PRINT_001-MATNR+2(1) <> 'B' AND IT_PRINT_001-MATNR+2(1) <> 'C' AND IT_PRINT_001-MATNR+2(1) <> 'Y') AND SY-UNAME = 'WTCQS'.
AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS. ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001BCQS. ENDIF. ELSEIF IT_PRINT_001-VKORG = '3000' AND IT_PRINT_001-MATNR+0(3) <> '80R' AND SY-UNAME <> 'WTCQS'. AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43C'. IF SY-SUBRC = 0 AND Z_AREA-E2 = 'X' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001CQS. ELSEIF SY-SUBRC = 0 AND Z_AREA-MMKON = '01' AND Z_AREA-E3 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001BCQS. ENDIF. ENDIF. * 权限控制,S43D权限组能修改“生产评审”的相关字段 AUTHORITY-CHECK OBJECT 'ZREPORT' ID 'BEGRU' FIELD 'S43D'. IF SY-SUBRC = 0 AND Z_AREA-E3 = 'X' AND Z_AREA-E4 <> 'X'. PERFORM F_BDC_GET_BDCDATA_001SG. * IF SY-SUBRC = 0. * MESSAGE S010 WITH T_VBAK-VBELN. * ELSE. * MESSAGE E011 WITH T_VBAK-VBELN. * ENDIF. ENDIF. ENDIF. AT END OF VBELN.
PERFORM F_BDC_GET_BDCDATA_001C. CALL TRANSACTION 'VA02' USING IT_BDCDATA_001 MODE 'E' UPDATE 'A'. IF SY-SUBRC <> 0. WRITE: / 'ERROR'. ENDIF. ENDAT. CLEAR Z_AREA.
ENDLOOP.
ENDFORM. "F_BDC_EXECUTE_002 ********************************************************************** FORM F_BDC_GET_BDCDATA_001A. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '0102', '' 'BDC_CURSOR' 'VBAK-VBELN', '' 'BDC_OKCODE' '/00', '' 'VBAK-VBELN' Z_AREA-VBELN. ENDFORM. "F_BDC_GET_BDCDATA_001A ********************************************************************** FORM F_BDC_GET_BDCDATA_001GCM. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(02)', '' 'J_STMAINT-ANWS(01) ' '', '' 'J_STMAINT-ANWS(02) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'. ENDFORM. "F_BDC_GET_BDCDATA_001GCM
*&---------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001GCM2. "样品订单,由GCM评审最后一部 PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU',
'1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(02)', '' 'J_STMAINT-ANWS(01) ' '', '' 'J_STMAINT-ANWS(02) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '' 'VBAP-ABGRU' ''. "更改拒绝原因为空 ENDFORM. "F_BDC_GET_BDCDATA_001GCM2
*&---------------------------------------------------------------------*
*& Form F_BDC_GET_BDCDATA_001BOM *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001BOM. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(02)', '' 'J_STMAINT-ANWS(01) ' '', '' 'J_STMAINT-ANWS(02) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'. ENDFORM. "F_BDC_GET_BDCDATA_001BOM
*&---------------------------------------------------------------------* *& Form F_BDC_GET_BDCDATA_001BOM2 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001BOM2. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(03)', '' 'J_STMAINT-ANWS(02) ' '', '' 'J_STMAINT-ANWS(03) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'. ENDFORM. "F_BDC_GET_BDCDATA_001BOM2
********************************************************************* *CQS FORM F_BDC_GET_BDCDATA_001CQS. DATA USERN TYPE STRING. CALL FUNCTION 'Z_RETURN_USERNAME' IMPORTING USERNAME = USERN. TRANSLATE USERN TO UPPER CASE . SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-HOST2 WHERE ZPC = USERN.
* CALL FUNCTION 'TERMINAL_ID_GET' * EXPORTING * USERNAME = SY-UNAME " * IMPORTING * TERMINAL = IP_UNAME "IP + HOSTNAME * EXCEPTIONS * MULTIPLE_TERMINAL_ID = 1 * NO_TERMINAL_FOUND = 2. * * SPLIT IP_UNAME AT '-' INTO IT_PRINT_001-IPDEC2 IT_PRINT_001-HOST2. * TRANSLATE IT_PRINT_001-HOST2 TO UPPER CASE . * SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-ZNAME WHERE ZPC = IT_PRINT_001-HOST2. * CONCATENATE IT_PRINT_001-ZNAME '|' IT_PRINT_001-HOST2 INTO IT_PRINT_001-HOST2. MOVE IT_PRINT_001-VBELN TO ZJCDS-VBELN. MOVE IT_PRINT_001-POSNR TO ZJCDS-POSNR. MOVE IT_PRINT_001-HOST2 TO ZJCDS-CQSNAME. MODIFY ZJCDS. MODIFY IT_PRINT_001.
PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(03)', '' 'J_STMAINT-ANWS(02) ' '', '' 'J_STMAINT-ANWS(03) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'. ENDFORM. "F_BDC_GET_BDCDATA_001CQS
*&---------------------------------------------------------------------* *& Form F_BDC_GET_BDCDATA_001CQS2 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001CQS2. DATA USERN TYPE STRING. CALL FUNCTION 'Z_RETURN_USERNAME' IMPORTING USERNAME = USERN. TRANSLATE USERN TO UPPER CASE . SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-HOST2 WHERE ZPC = USERN.
* CALL FUNCTION 'TERMINAL_ID_GET' * EXPORTING * USERNAME = SY-UNAME " * IMPORTING * TERMINAL = IP_UNAME "IP + HOSTNAME * EXCEPTIONS * MULTIPLE_TERMINAL_ID = 1 * NO_TERMINAL_FOUND = 2. * * SPLIT IP_UNAME AT '-' INTO IT_PRINT_001-IPDEC2 IT_PRINT_001-HOST2. * TRANSLATE IT_PRINT_001-HOST2 TO UPPER CASE . * SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-ZNAME WHERE ZPC = IT_PRINT_001-HOST2. * CONCATENATE IT_PRINT_001-ZNAME '|' IT_PRINT_001-HOST2 INTO IT_PRINT_001-HOST2.
MOVE IT_PRINT_001-VBELN TO ZJCDS-VBELN. MOVE IT_PRINT_001-POSNR TO ZJCDS-POSNR. MOVE IT_PRINT_001-HOST2 TO ZJCDS-CQSNAME. MODIFY ZJCDS. MODIFY IT_PRINT_001.
PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(04)', '' 'J_STMAINT-ANWS(03) ' '', '' 'J_STMAINT-ANWS(04) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'.
ENDFORM. "F_BDC_GET_BDCDATA_001CQS2
********************************************************************* *CQS----老产品BOM不评审,由CQS评审一起评审 FORM F_BDC_GET_BDCDATA_001BCQS.
DATA USERN TYPE STRING. CALL FUNCTION 'Z_RETURN_USERNAME' IMPORTING USERNAME = USERN. TRANSLATE USERN TO UPPER CASE . SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-HOST2 WHERE ZPC = USERN. * CALL FUNCTION 'TERMINAL_ID_GET' * EXPORTING * USERNAME = SY-UNAME " * IMPORTING * TERMINAL = IP_UNAME "IP + HOSTNAME * EXCEPTIONS * MULTIPLE_TERMINAL_ID = 1 * NO_TERMINAL_FOUND = 2. * * SPLIT IP_UNAME AT '-' INTO IT_PRINT_001-IPDEC2 IT_PRINT_001-HOST2. * TRANSLATE IT_PRINT_001-HOST2 TO UPPER CASE . * SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-ZNAME WHERE ZPC = IT_PRINT_001-HOST2. * CONCATENATE IT_PRINT_001-ZNAME '|' IT_PRINT_001-HOST2 INTO IT_PRINT_001-HOST2. MOVE IT_PRINT_001-VBELN TO ZJCDS-VBELN. MOVE IT_PRINT_001-POSNR TO ZJCDS-POSNR. MOVE IT_PRINT_001-HOST2 TO ZJCDS-CQSNAME. MODIFY ZJCDS. MODIFY IT_PRINT_001. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(02)', '' 'J_STMAINT-ANWS(02) ' 'X', '' 'J_STMAINT-ANWS(03) ' '', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(03)', '' 'J_STMAINT-ANWS(02) ' '', '' 'J_STMAINT-ANWS(03) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'.
ENDFORM. "F_BDC_GET_BDCDATA_001BCQS
*&---------------------------------------------------------------------* *& Form F_BDC_GET_BDCDATA_001BCQS2 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001BCQS2. "评审 DATA USERN TYPE STRING. CALL FUNCTION 'Z_RETURN_USERNAME' IMPORTING USERNAME = USERN. TRANSLATE USERN TO UPPER CASE . SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-HOST2 WHERE ZPC = USERN. * CALL FUNCTION 'TERMINAL_ID_GET' * EXPORTING * USERNAME = SY-UNAME " * IMPORTING * TERMINAL = IP_UNAME "IP + HOSTNAME * EXCEPTIONS * MULTIPLE_TERMINAL_ID = 1 * NO_TERMINAL_FOUND = 2. * * SPLIT IP_UNAME AT '-' INTO IT_PRINT_001-IPDEC2 IT_PRINT_001-HOST2. ** CONCATENATE SY-UNAME '|' IT_PRINT_001-HOST2 INTO IT_PRINT_001-HOST2. * TRANSLATE IT_PRINT_001-HOST2 TO UPPER CASE . * SELECT SINGLE ZNAME FROM ZDT02 INTO IT_PRINT_001-ZNAME WHERE ZPC = IT_PRINT_001-HOST2. * CONCATENATE IT_PRINT_001-ZNAME '|' IT_PRINT_001-HOST2 INTO IT_PRINT_001-HOST2. MOVE IT_PRINT_001-VBELN TO ZJCDS-VBELN. MOVE IT_PRINT_001-POSNR TO ZJCDS-POSNR. MOVE IT_PRINT_001-HOST2 TO ZJCDS-CQSNAME. MODIFY ZJCDS. "ZJCDS用于存放评审的单子的电脑名 MODIFY IT_PRINT_001.
PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(02)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'VBKD-DELCO', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(03)', '' 'J_STMAINT-ANWS(03) ' 'X', '' 'J_STMAINT-ANWS(04) ' '', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(04)', '' 'J_STMAINT-ANWS(03) ' '', '' 'J_STMAINT-ANWS(04) ' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY'.
ENDFORM. "F_BDC_GET_BDCDATA_001BCQS2 ********************************************************************* *生管 FORM F_BDC_GET_BDCDATA_001SG. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'VBAP-ABGRU(01)' '', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'RV45A-KWMENG', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(04)', '' 'J_STMAINT-ANWS(03) ' '', '' 'J_STMAINT-ANWS(04)' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '' 'VBAP-ABGRU' ''. ENDFORM.
*&---------------------------------------------------------------------* *& Form F_BDC_GET_BDCDATA_001SG2 *&---------------------------------------------------------------------* * text *----------------------------------------------------------------------* FORM F_BDC_GET_BDCDATA_001SG2. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=POPO', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '1' 'SAPMV45A' '0251', '' 'BDC_CURSOR' 'RV45A-POSNR', '' 'BDC_OKCODE' '=POSI', '' 'RV45A-POSNR' Z_AREA-POSNR, '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=ITEM', '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'VBAP-POSNR(01)', '' 'VBAP-ABGRU(01)' '', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=T/11', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4451SUBSCREEN_BODY', * '' 'BDC_CURSOR' 'RV45A-KWMENG', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '=PSTC', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=PICK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '' 'BDC_CURSOR' 'J_STMAINT-ANWS(05)', '' 'J_STMAINT-ANWS(04) ' '', '' 'J_STMAINT-ANWS(05)' 'X', '1' 'SAPLBSVA' '0300', '' 'BDC_OKCODE' '=BACK', '' 'BDC_SUBSCR' 'SAPLBSVA 0800HEADER', '' 'BDC_CURSOR' 'JOSTD-OBJNR', '' 'BDC_SUBSCR' 'SAPLBSVA 0302SUBSCREEN', '1' 'SAPMV45A' '4003', '' 'BDC_OKCODE' '/EBACK', '' 'BDC_SUBSCR' 'SAPMV45A 4013SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4456SUBSCREEN_BODY', '' 'BDC_CURSOR' 'VBAP-ABGRU', '' 'VBAP-ABGRU' ''. ENDFORM.
********************************************************************** FORM F_BDC_GET_BDCDATA_001C. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPMV45A' '4001', '' 'BDC_OKCODE' '=SICH'," '' 'BDC_SUBSCR' 'SAPMV45A 4021SUBSCREEN_HEADER', '' 'BDC_SUBSCR' 'SAPMV45A 4701PART-SUB', '' 'BDC_SUBSCR' 'SAPMV45A 4400SUBSCREEN_BODY', '' 'BDC_SUBSCR' 'SAPMV45A 4440HEADER_FRAME', '' 'BDC_SUBSCR' 'SAPMV45A 8310HEAD_USER', '' 'BDC_SUBSCR' 'SAPLV45W 0400SUBSCREEN_VERTRAG', '' 'BDC_SUBSCR' 'SAPMV45A 4900SUBSCREEN_TC', '' 'BDC_CURSOR' 'RV45A-MABNR(01)', '' 'BDC_SUBSCR' 'SAPMV45A 4050SUBSCREEN_BUTTONS' . ENDFORM. "F_BDC_GET_BDCDATA_001C ************************************************************************* FORM F_BDC_MODIFY_BDCDATA USING FLAG VAR1 VAR2. CLEAR IT_BDCDATA_001. IF FLAG = '1'. IT_BDCDATA_001-PROGRAM = VAR1. IT_BDCDATA_001-DYNPRO = VAR2. IT_BDCDATA_001-DYNBEGIN = 'X'. ELSE. IT_BDCDATA_001-FNAM = VAR1. IT_BDCDATA_001-FVAL = VAR2. ENDIF. APPEND IT_BDCDATA_001. ENDFORM. "F_BDC_MODIFY_BDCDATA ************************************************************************ *导入BDC参数 FORM F_BDC_GET_BDCDATA_003 . * DATA L_TEMP LIKE LINE OF IT_PRINT_001. REFRESH IT_BDCDATA_001. * READ TABLE IT_PRINT_001 INTO L_TEMP INDEX G_TABINDEX. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'ZR_PP_049' '1000', '' 'BDC_CURSOR' 'P_WERKS', '' 'BDC_OKCODE' '=ONLI', '' 'P_SALE' 'X', '' 'S_VBELN-LOW' L_TEMP-VBELN, '' 'S_POSNR-LOW' L_TEMP-POSNR, '' 'SP$00042' '3', '' 'P_WERKS' L_TEMP-VKORG, '' 'S_ARBPL-LOW' 'PC*', '' 'P_KAPAR' '001', '' 'P_ARBPL' 'X', * '' 'P_CBX003' 'X', '' 'P_ALV' 'X'. ENDFORM. " F_BDC_GET_BDCDATA_003 ************************************************************************ *调用TCODE, 执行BDC(使用内表IT_BDCDATA_001作为参数) FORM F_BDC_EXECUTE_003. PERFORM F_BDC_GET_BDCDATA_003. CALL TRANSACTION 'ZP49' USING IT_BDCDATA_001 MODE 'E' UPDATE 'A'. IF SY-SUBRC <> 0. WRITE: / 'ERROR'. ENDIF. ENDFORM. " F_BDC_EXECUTE_003 ************************************************************************ *导入BDC参数--MM02物料定价组 FORM F_BDC_GET_BDCDATA_004 . * DATA L_TEMP LIKE LINE OF IT_PRINT_001. REFRESH IT_BDCDATA_001. * READ TABLE IT_PRINT_001 INTO L_TEMP INDEX G_TABINDEX. PERFORM F_BDC_MODIFY_BDCDATA USING: '1' 'SAPLMGMM' '0060', '' 'BDC_CURSOR' 'RMMG1-MATNR', '' 'BDC_OKCODE' '=ENTR', '' 'RMMG1-MATNR' L_TEMP-MATNR, '1' 'SAPLMGMM' '0070', '' 'BDC_CURSOR' 'MSICHTAUSW-DYTXT(02)', '' 'BDC_OKCODE' '=ENTR', '' 'MSICHTAUSW-KZSEL(02)' 'X', "CQS评审更改物料定价组,只开通修改销售视图,所以所选的位置是2 '1' 'SAPLMGMM' '0080', '' 'BDC_CURSOR' 'RMMG1-VTWEG', '' 'BDC_OKCODE' '=ENTR', '' 'RMMG1-WERKS' L_TEMP-WERKS, '' 'RMMG1-VKORG' L_TEMP-VKORG, '' 'RMMG1-VTWEG' L_TEMP-VTWEG, '1' 'SAPLMGMM' '4000', '' 'BDC_OKCODE' '=BABA', '' 'BDC_SUBSCR' 'SAPLMGMM 2000TABFRA1', '' 'BDC_SUBSCR' 'SAPLMGD1 1004SUB1', '' 'BDC_SUBSCR' 'SAPLMGD1 2157SUB2', '' 'BDC_CURSOR' 'MVKE-KONDM', * '' 'MVKE-VERSG' '1', '' 'MVKE-KONDM' '01', "-----由02新产品改成01老产品 * '' 'MVKE-KTGRM' '01', * '' 'MARA-MTPOS_MARA' 'NORM', * '' 'MVKE-MTPOS' 'NORM', '' 'BDC_SUBSCR' 'SAPLMGD1 2156SUB3', '' 'BDC_SUBSCR' 'SAPLMGD1 2155SUB4', '' 'BDC_SUBSCR' 'SAPLMGD1 0001SUB5', '' 'BDC_SUBSCR' 'SAPLMGD1 0001SUB6', '1' 'SAPLSPO1' '0300', '' 'BDC_OKCODE' '=YES'.
ENDFORM. " F_BDC_GET_BDCDATA_004 ************************************************************************ *调用TCODE, 执行BDC(使用内表IT_BDCDATA_001作为参数) FORM F_BDC_EXECUTE_004. PERFORM F_BDC_GET_BDCDATA_004. CALL TRANSACTION 'MM02' USING IT_BDCDATA_001 MODE 'E' UPDATE 'A'. IF SY-SUBRC <> 0. WRITE: / 'ERROR'. ENDIF. ENDFORM. " F_BDC_EXECUTE_004 |