aeryu's profileSAPDEV BASEBlogLists Tools Help

SAPDEV BASE

本BLOG部分资料来自网络,如原作者有疑义,请速与本人联系,我将对其进行删除,谢谢
8/1/2008

一封要求加薪的邮件

Dear Bo$$
In thi$ life, we all need $ome thing mo$t de$perately. I think you $hould
be under$tanding of the need$ of u$ worker$ who have given $o much $upport
including $weat and $ervice to your company.
I am $ure you will gue$$ what I mean and re$pond $oon.
Your$  $incerely,

Marian $hih


  _____
第二天,她收到老板的回信

Dear Marian

I kNOw you have been working very hard. NOwadays, NOthing much has changed.
You must have NOticed that our company is NOt doing NOticeably well as yet.
NOw the newspaper are saying the world`s leading ecoNOmists are NOt sure
if the United States may go into aNOther recession. After the NOvember
presidential elections things may turn bad.
I have NOthing more to add NOw. You kNOw what I mean.
Yours truly,

Manager

ICON_CREATE

INCLUDE <icon>.
DATA: forward   TYPE icons-text.
DATA: back      TYPE icons-text.
DATA: icon_back TYPE iconname
DATA: icon_forward  TYPE iconname
DATA: icon_back_quickinfo    TYPE icont-quickinfo
DATA: icon_forward_quickinfo TYPE icont-quickinfo
icon_back              = 'ICON_SYSTEM_UNDO'.
icon_back_quickinfo    = 'test1'(009).
icon_forward           = 'ICON_SYSTEM_REDO'.
icon_forward_quickinfo = 'test2'(006).
  CALL FUNCTION 'ICON_CREATE'
       EXPORTING
            name                  = icon_back
*             TEXT                  = ' '
            info                  = icon_back_quickinfo
            add_stdinf            = ''
       IMPORTING
            RESULT                = back
       EXCEPTIONS
            icon_not_found        = 1
            outputfield_too_short = 2
            OTHERS                = 3.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
CALL FUNCTION 'ICON_CREATE'
       EXPORTING
            name                  = icon_forward
*             TEXT                  = ' '
            info                  = icon_forward_quickinfo
            add_stdinf            = ''
       IMPORTING
            RESULT                = forward
       EXCEPTIONS
            icon_not_found        = 1
            outputfield_too_short = 2
            OTHERS                = 3.
  IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  ENDIF.
7/25/2008

查询当前由谁加锁

REPORT  YTST_0011.
DATA: ITAB LIKE TABLE OF YTST_002 WITH HEADER LINE.
data item LIKE LINE OF itab.
PERFORM lock_record USING '0011'.
PERFORM lock_record USING '0011'.
CLEAR: item.
item-BUKRS = '0011'.
item-TXT = 'SDFSFSSF'.
MODIFY YTST_002 FROM item.
PERFORM unlock_record USING '0011'.

form lock_record using P_BUKRS.
  data: it_seqg3 type seqg3 occurs 01 with header line.
  data: gname like seqg3-gname, garg like seqg3-garg.
  CLEAR: gname,garg.
*  DATA: BEGIN OF %a_YTST_002,
**       锁定表格 YTST_002 的函数
*            MANDT TYPE YTST_002-MANDT,
*            BUKRS TYPE YTST_002-BUKRS,
*      END OF %a_YTST_002.
** 锁定函数初始化:
*  CALL 'C_ENQ_WILDCARD' ID 'HEX0' FIELD %a_YTST_002.
*
*
** 锁定字段锁定参数的分配                     :
*
*  IF NOT SY-MANDT IS INITIAL.
*    MOVE SY-MANDT TO:
*         %a_YTST_002-MANDT.
*  ENDIF.
*
*  IF NOT P_BUKRS IS INITIAL.
*    MOVE P_BUKRS TO:
*         %a_YTST_002-BUKRS.
*  ENDIF.
  CONCATENATE sy-mandt P_BUKRS INTO garg.
  gname = 'YTST_002'.
*  garg = %a_YTST_002.
  call function 'ENQUEUE_READ'
    EXPORTING
      gclient = sy-mandt
      gname   = gname
      garg    = garg
    TABLES
      enq     = it_seqg3.
  if sy-subrc <> 0.
    message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  endif.
  if it_seqg3 is not initial.
    data:cmessage(100) type c.
    concatenate P_BUKRS '正由' it_seqg3-guname '编辑!' into cmessage.
    condense cmessage.
    message cmessage type 'E'.
  else.
    call function 'ENQUEUE_EYTST_002'
      EXPORTING
        mandt          = sy-mandt
        BUKRS          = P_BUKRS
      EXCEPTIONS
        foreign_lock   = 1
        system_failure = 2
        others         = 3.
    if sy-subrc <> 0.
      message id sy-msgid type sy-msgty number sy-msgno with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    endif.
  endif.
endform.                    "lock_record

form unlock_record using P_BUKRS.
  call function 'DEQUEUE_EYTST_002'
    EXPORTING
      mandt          = sy-mandt
      BUKRS          = P_BUKRS
    EXCEPTIONS
      foreign_lock   = 1
      system_failure = 2
      others         = 3.
endform.                    "lock_record
7/22/2008

SELECT-OPTIONS & RANGES

DATA:  G_TICKET LIKE STANDARD TABLE OF YXTDT015 WITH HEADER LINE.
DATA: L_CX TYPE RANGE OF OIJ_EL_TICKET_I-TICKET_KEY,
         L_LINE LIKE LINE OF L_CX.
LOOP AT G_TICKET WHERE TICKET_PURPOSE EQ '5'.
  CLEAR L_LINE.
  L_LINE-SIGN = 'I'.
  L_LINE-OPTION = 'EQ'.
  L_LINE-LOW    = G_TICKET-TICKET_KEY.
  COLLECT L_LINE INTO L_CX.
ENDLOOP.
* REFRESH L_CX.
* 经测试 L_CX 为空时,以下语句会将 G_TICKET 记录全部删除 ,而不为空时,则正常使用
* 故此种使用方法必须判断L_CX 是否为空,以下的使用与选择屏幕中 SELECT-OPTIONS用于Open SQL语句的WHERE子句
* 使用方法不一样,后者为空则筛选全部数据
IF NOT L_RANGE_CX[] IS INITIAL.
    DELETE G_TICKET WHERE TICKET_KEY IN L_RANGE_CX.
ENDIF.
IF NOT L_RANGE_CX[] IS INITIAL.
LOOP AT G_TICKET WHERE TICKET_KEY IN L_CX.
ENDLOOP.
ENDIF.
* 当 s_matnr 为空时,筛选全部数据
SELECT-OPTIONS:s_matnr FOR mara-matnr.
START-OF-SELECTION.
* 用SELECT-OPTIONS
  SELECT COUNT(*) INTO n FROM mara
  WHERE matnr IN s_matnr.
  WRITE n.
 

aeryu

msn:zh_mingyu@hotmail.com
QQ:181535548
email: zh_mingyu@126.com