您的位置:首页 > 娱乐 > 明星 > qq群营销工具_php开发工具_太原网络推广公司哪家好_上海百度推广

qq群营销工具_php开发工具_太原网络推广公司哪家好_上海百度推广

2025/4/17 20:10:25 来源:https://blog.csdn.net/woniu_maggie/article/details/146958610  浏览:    关键词:qq群营销工具_php开发工具_太原网络推广公司哪家好_上海百度推广
qq群营销工具_php开发工具_太原网络推广公司哪家好_上海百度推广

SAP BDC应用1 -  分公司批量处理资产负债表和利润表 等几大财务报表

REPORT ZFID085_BTDL.

INCLUDE ZFI_AUTHORITY_CHECK.

*BDC相关
TYPES:
  TY_BDC_T TYPE TABLE OF BDCDATA.                 "[BDC]表结构
DATA:
  LT_BDCDATA TYPE TY_BDC_T,                       "[BDC]内表
  LS_OPTION  TYPE CTU_PARAMS,                     "[BDC模式]工作区
  LT_BDCMSG  TYPE TABLE OF BDCMSGCOLL.            "[BDC返回消息]内表

*选择屏幕
DATA SC_BUKRS TYPE BUKRS.
SELECTION-SCREEN BEGIN OF BLOCK B01 WITH FRAME TITLE TEXT-001.
PARAMETERS: p_doct TYPE ze_doctype2 OBLIGATORY DEFAULT 'C'.  "add mod czq 20200910 默认值由B改为C
SELECT-OPTIONS S_BUKRS FOR SC_BUKRS.
PARAMETERS: P_GJAHR TYPE BKPF-GJAHR OBLIGATORY DEFAULT SY-DATUM(4),
            P_MONAT TYPE BKPF-MONAT OBLIGATORY DEFAULT SY-DATUM+4(2).
SELECTION-SCREEN END OF BLOCK B01.

SELECTION-SCREEN BEGIN OF BLOCK B02 WITH FRAME TITLE TEXT-002.
PARAMETERS: R_BS    RADIOBUTTON GROUP R1 DEFAULT 'X' USER-COMMAND R,
            R_PL    RADIOBUTTON GROUP R1.
SELECTION-SCREEN END OF BLOCK B02.

START-OF-SELECTION.
* 公司代码权限检查
  PERFORM FRM_BUKRS_CHECK.
* 批量下载
  PERFORM FRM_BATCH_DOWNLOAD.
*&---------------------------------------------------------------------*
*&      Form  FRM_BUKRS_CHECK
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_BUKRS_CHECK .
  DATA LV_MESSAGE(200).
  PERFORM FRM_CHECK_BUKRS_T TABLES   S_BUKRS[]
  CHANGING LV_MESSAGE.
  IF LV_MESSAGE IS NOT INITIAL.
    MESSAGE S000(ZMSG_FI) WITH LV_MESSAGE DISPLAY LIKE'E'.
    STOP.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_BATCH_DOWNLOAD
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_BATCH_DOWNLOAD .
  DATA:
    LT_R_BUKRS TYPE RANGE OF BUKRS,
    LS_R_BUKRS LIKE LINE OF LT_R_BUKRS.

* BDC模式设置
  LS_OPTION-DISMODE  = 'E'.                       "A:前台模式 N:后台模式 E:显示错误
  LS_OPTION-UPDMODE  = 'S'.                       "更新模式:同步更新
  LS_OPTION-RACOMMIT = 'X'.                       "COMMIT不结束BDC

  SELECT BUKRS AS LOW
    FROM T001
    INTO CORRESPONDING FIELDS OF TABLE LT_R_BUKRS
   WHERE BUKRS IN S_BUKRS[].

  LS_R_BUKRS-SIGN = 'I'.
  LS_R_BUKRS-OPTION = 'EQ'.
  MODIFY LT_R_BUKRS FROM LS_R_BUKRS TRANSPORTING SIGN OPTION WHERE LOW <> SPACE.

  LOOP AT LT_R_BUKRS INTO LS_R_BUKRS.
    AT FIRST.
      PERFORM FRM_SET_DIRECTORY.
    ENDAT.

*   给[BDC]内表赋植
    PERFORM F_SETBDC:
*     初始屏幕
      USING    'X'  'ZFID085'      '1000'
      CHANGING LT_BDCDATA,

*     值设置
      USING    SPACE 'P_DOCT' P_DOCT
      CHANGING LT_BDCDATA,

*     值设置
      USING    SPACE 'S_BUKRS-LOW' LS_R_BUKRS-LOW
      CHANGING LT_BDCDATA,

*     值设置
      USING    SPACE 'P_GJAHR' P_GJAHR
      CHANGING LT_BDCDATA,

*     值设置
      USING    SPACE 'P_MONAT' P_MONAT
      CHANGING LT_BDCDATA,

*     执行功能码
      USING    SPACE 'BDC_OKCODE'     '=ONLI'
      CHANGING LT_BDCDATA.

*   给[BDC]内表赋植
    PERFORM F_SETBDC:
*     初始屏幕
      USING    'X'  'SAPLZGLD_FI_OUTPUT_EXCEL'      '9000'
      CHANGING LT_BDCDATA,

*     执行功能码
      USING    SPACE 'BDC_OKCODE'     '=ZSAVE'
      CHANGING LT_BDCDATA.

*   给[BDC]内表赋植
    PERFORM F_SETBDC:
*     初始屏幕
      USING    'X'  'SAPLZGLD_FI_OUTPUT_EXCEL'      '9000'
      CHANGING LT_BDCDATA,


*     执行功能码
      USING    SPACE 'BDC_OKCODE'     '=BACK'
      CHANGING LT_BDCDATA.
  ENDLOOP.

* 给[BDC]内表赋植
  PERFORM F_SETBDC:
*   初始屏幕
    USING    'X'  'ZFID085'      '1000'
    CHANGING LT_BDCDATA,

*   执行功能码
    USING    SPACE 'BDC_OKCODE'     '=/EE'
    CHANGING LT_BDCDATA.

* 执行BDC
  CASE ABAP_TRUE.
    WHEN R_BS.
      CALL TRANSACTION 'ZFI085A' USING LT_BDCDATA
                         OPTIONS FROM  LS_OPTION
                        MESSAGES INTO  LT_BDCMSG.
    WHEN R_PL.
      CALL TRANSACTION 'ZFI085B' USING LT_BDCDATA
                         OPTIONS FROM  LS_OPTION
                        MESSAGES INTO  LT_BDCMSG.
    WHEN OTHERS.
  ENDCASE.

  DELETE FROM MEMORY ID 'BATCH_DOWNLOAD'.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  FRM_SET_DIRECTORY
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM FRM_SET_DIRECTORY .
  DATA:
    LV_SELECTED_FOLDER TYPE STRING,
    L_REF_OBJ          TYPE REF TO CL_GUI_FRONTEND_SERVICES.

  CREATE OBJECT L_REF_OBJ.

  CALL METHOD L_REF_OBJ->DIRECTORY_BROWSE
    CHANGING
      SELECTED_FOLDER      = LV_SELECTED_FOLDER
    EXCEPTIONS
      CNTL_ERROR           = 1
      ERROR_NO_GUI         = 2
      NOT_SUPPORTED_BY_GUI = 3.

  IF LV_SELECTED_FOLDER = SPACE.
    MESSAGE '已取消。' TYPE 'S' DISPLAY LIKE 'E'.
    STOP.
  ENDIF.

  EXPORT EV_SELECTED_FOLDER = LV_SELECTED_FOLDER TO MEMORY ID 'BATCH_DOWNLOAD'.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  F_SETBDC
*&---------------------------------------------------------------------*
*       给[BDC]内表赋值
*----------------------------------------------------------------------*
*      -->I_BGN      开始标识
*      -->I_PRM1     参数1
*      -->I_PRM2     参数2
*      -->CT_BDCDATA [BDC]内表
*----------------------------------------------------------------------*
FORM F_SETBDC USING I_BGN  TYPE CHAR1
                    I_PRM1
                    I_PRM2
           CHANGING CT_BDCDATA TYPE TY_BDC_T.

  DATA LR_BDCDATA TYPE BDCDATA.                   "BDCDATA

  CLEAR LR_BDCDATA.
* Dynpro开始标志为「X」的场合
  IF I_BGN = 'X'.
    LR_BDCDATA-DYNBEGIN = I_BGN.                  "Dynpro开始标志
    LR_BDCDATA-PROGRAM  = I_PRM1.                 "程序名
    LR_BDCDATA-DYNPRO   = I_PRM2.                 "Dyn编号
* Dynpro开始标志为「SPACE」的场合
  ELSE.
    LR_BDCDATA-FNAM     = I_PRM1.                 "项目名
    LR_BDCDATA-FVAL     = I_PRM2.                 "项目植
  ENDIF.
* 给[BDC]内表赋值
  APPEND LR_BDCDATA TO CT_BDCDATA.
ENDFORM.
 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com