码迷,mamicode.com
首页 > 其他好文 > 详细

ABAP DMEO 通过工单号读取内部对象号

时间:2019-12-04 01:11:21      阅读:101      评论:0      收藏:0      [点我收藏+]

标签:tin   others   refresh   end   cep   out   str   F12   art   

*&---------------------------------------------------------------------*
*& Report  YDEMO_013
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  YDEMO_013 MESSAGE-ID ZTEST_001.

TABLES:AUFK.
DATA:LT_STATUS LIKE TABLE OF JSTAT WITH HEADER LINE.

DATA:GS_LAYOUT TYPE LVC_S_LAYO.
*PARAMETERS:P_CLIENT LIKE
PARAMETERS:P_AUFNR LIKE AFKO-AUFNR,
           P_OBJNR LIKE JSTO-OBJNR,
           P_ONLY  LIKE JEST-INACT.

PARAMETERS:RB_01 RADIOBUTTON GROUP G1 DEFAULT X,
           RB_02 RADIOBUTTON GROUP G1.


PARAMETERS:P_OBTYP LIKE JSTO-OBTYP,
           P_STSMA LIKE JSTO-STSMA,
           P_STONR LIKE TJ30-STONR.

INITIALIZATION.

*IF

START-OF-SELECTION.
  SELECT SINGLE OBJNR INTO P_OBJNR
    FROM AUFK
   WHERE AUFNR = P_AUFNR.
  IF SY-SUBRC NE 0.

    MESSAGE I002."WITH ‘没有找到对象号!‘.
    CALL TRANSACTION ABAPDOCU.
    STOP.

  ELSE.
    CLEAR:LT_STATUS,LT_STATUS[].
    CALL FUNCTION STATUS_READ
      EXPORTING
*   CLIENT                 = SY-MANDT
        OBJNR                  = P_OBJNR
*   ONLY_ACTIVE            = ‘ ‘
     IMPORTING
       OBTYP                  = P_OBTYP
       STSMA                  = P_STSMA
       STONR                  = P_STONR
     TABLES
       STATUS                 = LT_STATUS
* EXCEPTIONS
*   OBJECT_NOT_FOUND       = 1
*   OTHERS                 = 2
              .
    IF SY-SUBRC <> 0.
* Implement suitable error handling here
    ENDIF.
  ENDIF.

  IF RB_02 EQ X.
    LOOP AT LT_STATUS.
      WRITE:/(10) LT_STATUS-STAT,
            (20) LT_STATUS-INACT.
    ENDLOOP.

  ELSE.

    GS_LAYOUT-CWIDTH_OPT   = X.
    GS_LAYOUT-SEL_MODE     = A.

    CALL FUNCTION REUSE_ALV_GRID_DISPLAY_LVC
      EXPORTING
        I_STRUCTURE_NAME         = JSTAT
        I_CALLBACK_PROGRAM       = SY-REPID
        I_CALLBACK_PF_STATUS_SET = SET_PF_STATUS
        I_CALLBACK_USER_COMMAND  = ALV_USER_COMMAND
*       IS_LAYOUT_LVC            = GS_LAYOUT
      TABLES
        T_OUTTAB                 = LT_STATUS.


  ENDIF.

*&---------------------------------------------------------------------*
*&      Form  SET_PF_STATUS
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM SET_PF_STATUS USING UT_EXCLUDE TYPE SLIS_T_EXTAB.
  SET PF-STATUS ALV_STATUS.
ENDFORM.                    "SET_PF_STATUS

*&---------------------------------------------------------------------*
*&      Form  ALV_USER_COMMAND
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM ALV_USER_COMMAND USING UV_UCOMM TYPE SYUCOMM US_SELFIELD TYPE SLIS_SELFIELD.
  DATA:LO_GRID TYPE REF TO CL_GUI_ALV_GRID.
  CASE UV_UCOMM.
    WHEN ADD.
      INSERT INITIAL LINE INTO LT_STATUS INDEX 1.
      CALL FUNCTION GET_GLOBALS_FROM_SLVC_FULLSCR
        IMPORTING
          E_GRID = LO_GRID.
      CALL METHOD LO_GRID->REFRESH_TABLE_DISPLAY .

    WHEN EXIT.
      LEAVE TO LIST-PROCESSING.

    WHEN &F03 OR &F12 OR &F15.
      LEAVE TO SCREEN 0.

    WHEN OTHERS.
  ENDCASE.
ENDFORM.                    "ALV_USER_COMMAND

 

ABAP DMEO 通过工单号读取内部对象号

标签:tin   others   refresh   end   cep   out   str   F12   art   

原文地址:https://www.cnblogs.com/rainysblog/p/11980407.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!