แสดงบทความที่มีป้ายกำกับ SAP แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ SAP แสดงบทความทั้งหมด

วันจันทร์ที่ 26 เมษายน พ.ศ. 2553

SAP : Add your own button on alv toolbar

Question:

อยากจะเพิ่มปุ่มของเราเอง เข้าไปเพิ่มใน Toolbar ที่เป็นของ ALV ในโปรแกรมที่เราเขียน

Solution:

  1. เข้า TCode SE80 เปิด function group SAPLKKBL ไปที่ GUI Status แตกรายการ เลือกที่ STANDARD_FULLSCREEN คลิกขวาเลือก copy ตามภาพข้างล่าง


  2. หลังจากกดเลือก copy แล้วจะมี dialog windows ขึ้นมาถามว่าจะให้ copy ไปที่ program ไหนชื่อ status ว่าอะไร ซึ่งเราควรสร้าง program ไว้ก่อนแล้ว หลังจากใส่ข้อมูลก็กด copy


  3. หลังจากนั้นก็ใส่ข้อมูลเกี่ยวกับ ชื่อ status, menu bar และ menu ปล่อยไว้ตามนั้น กด copy ต่อไปได้เลย


  4. เป็นอันว่า copy เสร็จเรียบร้อย มี message แจ้งตามภาพ


  5. หลังจากนั้น ไปที่ program ของเรา เพื่อลงทะเบียนใช้ GUI Interface ที่ได้ copy ไว้ โดยไปที่ Editor เขียนคำสั่ง SET PF-STATUS 'ZTESTALVTB_STANDARD' ('ZTESTALVTB_STANDARD' เป็นชื่อที่ตั้งไว้ตอน copy) จากนั้นให้ดับเบิ้ลคลิกที่คำว่า 'ZTESTALVTB_STANDARD' ถ้ามี dialog windows ขึ้นมาให้ถาม save program ก็กด save หลังจากนั้นก็จะเข้าสู่หน้าจอในการปรับเปลี่ยน GUI Interface ดังรูป

  6. จากนั้นก็เพิ่ม ส่วนที่เป็นของเราเพิ่มเข้าไป กด Save พร้อม Active แล้วลอง Run รายงาน ก็จะได้ GUI Interface ที่เป็นของเดิมของ alv กับส่วนที่เราเพิ่มเข้าไป ดังรูป





สามารถดูตัวอย่างเำพิ่มเติมได้ตามรายชื่อ program ต่อไปนี้



ค่าที่เราสร้างขึ้นใน GUI Interface ต้องมีการดักจับ Event ซึ่งถ้าเราเรียก function เพื่อใช้ ALV เราก็ต้องเพิ่ม


CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_CALLBACK_PROGRAM = SY-REPID
IS_LAYOUT = xxxx
IT_FIELDCAT = xxxx
I_CALLBACK_PF_STATUS_SET = 'SET_PF_STATUS'
I_CALLBACK_USER_COMMAND = 'USER_COMMAND'
I_SAVE = xxx
TABLES
T_OUTTAB = ITAB_ALV
EXCEPTIONS
PROGRAM_ERROR = 1
OTHERS = 2.



*&------------------------------------*
*& Form USER_COMMAND
*&------------------------------------*
FORM USER_COMMAND USING r_ucomm TYPE sy-ucomm
rs_selfield TYPE slis_selfield.
CASE r_ucomm.
WHEN 'xxxx'.

ENDCASE.
ENDFORM.

*&------------------------------------*
*& Form SET_PF_STATUS
*&------------------------------------*
FORM SET_PF_STATUSs USING rt_extab TYPE slis_t_extab.
SET PF-STATUS 'ZTESTALVTB_STANDARD'.
ENDFORM.

วันพฤหัสบดีที่ 2 กรกฎาคม พ.ศ. 2552

SAP: Default value of last group maintained.



Q : ทำไมหลังจากใส่ Material กับ Plant ตามภาพ ใน Transaction ของ Routing ไม่ว่าจะเป็น CA01, CA02 และ CA03 หลังจากเข้าไปดูข้อมูลแล้วพอกลับมายังหน้าจอ Initial Screen อีกครั้งกลับมีข้อมูลในช่อง Group ขี้นมาให้ ตามภาพตรงลูกศรสีแดง จะตั้งค่าที่ไหน ?

A : ส่วนที่เกี่ยวข้องกับ Default value of last group maintained ต้องเข้าไปที่ Transaction OP8B เลือก Task List Type : N กดตกลง ในคอลัมน์ TL คือ ส่วนที่เกี่ยวข้องกับการกำหนดค่า Default last group value ตามภาพข้างล่าง



วันจันทร์ที่ 25 สิงหาคม พ.ศ. 2551

SAP: Dynamic selection screen (Checkbox and Radio Buttons)

Question:
ที่หน้าจอ Selection Screen จะ invisible Checkbox เมื่อเลือก Radio Button ?

Solution:

SELECTION-SCREEN BEGIN OF BLOCK first WITH FRAME TITLE text-001.
PARAMETERS : radio1 RADIOBUTTON GROUP grp1
USER-COMMAND radio,
radio2 RADIOBUTTON GROUP grp1,
radio3 RADIOBUTTON GROUP grp1.
SELECTION-SCREEN END OF BLOCK first.

SELECTION-SCREEN BEGIN OF BLOCK second WITH FRAME TITLE text-002.
PARAMETERS : chkbox AS CHECKBOX DEFAULT 'X' MODIF ID DIS.
SELECTION-SCREEN END OF BLOCK second.

AT
SELECTION-SCREEN OUTPUT.
" invisible checkbox case selected radio2...
LOOP AT SCREEN.
IF screen-group1 = 'DIS'.
IF radio2 = 'X'.
screen-active = 0.
MODIFY SCREEN.
ENDIF.
ENDIF.
ENDLOOP.

วันพฤหัสบดีที่ 29 พฤษภาคม พ.ศ. 2551

SAP: LOOP AT SCREEN

Question:
พอดีใช้ Logical Database แต่ต้องการให้ Parameters ใน Selection Screen ของ Logical Database นั้นๆ ทำเป็น Required Field

Solution:
ใช้คำสั่ง Loop At Screen ในการวนลูปที่หน้าจอของ Dynpro โดยใช้ Structure ที่ชื่อว่าSCREEN และใช้ Component ที่ชื่อว่า NAME ส่วนการกำหนด Required Field ให้ใช้ Component ที่ชื่อว่า REQUIRED

ชื่อของ Parameter (EM_MATNR-LOW) ดูได้จาก technical infomation ในส่วนของ Screen Field

AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.

IF SCREEN-NAME = 'EM_MATNR-LOW'.

SCREEN-REQUIRED = '1'.
MODIFY SCREEN.
ENDIF.
ENDLOOP.

วันพุธที่ 28 พฤษภาคม พ.ศ. 2551

SAP: Transaction Code (Development)

  • SE38 ABAP Edittor.
  • SE80 Object Navigator.
  • SE11 ABAP Dictionary.
  • SE16 Data Browser
  • SE37 Function Builder
  • SE30 Runtime Analysis
  • ST05 SQL Trace
  • BAPI BAPI Explorer
  • SE24 Class Builder

  • SU01 User Management (Change Password)
  • SM04 User List (End Session)

Purchase Order:

  • ME23N Display purchase order
  • ME80FN Reports
  • ME2N Reports