ADOBE interface

PHOTO EMBED

Sun Jun 09 2024 11:52:22 GMT+0000 (Coordinated Universal Time)

Saved by @payammhmd

DATA: zvorna TYPE vorna,
      znachn TYPE nachn,
      sep(1) TYPE c,
      adres1 TYPE PAD_STRAS,
      adres2 TYPE PAD_LOCAT,
      ZCTTYP TYPE CTTYP,
      BEGDA16 TYPE DATS,
      ZCTEDT TYPE DATS,
      lv_datum_ext TYPE char25,
      lv_exdatfm   TYPE xudatfm,
      ZGESCH TYPE GESCH, " جنسيت
      ZGBDAT TYPE GBDAT, " تاريخ تولد
      ZFAMST TYPE FAMST, " وضعيت تاهل
      ZSLART TYPE SLART, " مدرک تحصيلي 22
      ZFACH TYPE FACH1, " کد رشته تحصيلي
      ZPRBZT TYPE PRBZT, " عدد مدت قرارداد
      ZPRBZTS(3) TYPE C, " کاراکتر کردن براي کانکت عدد مدت قرارداد
      ZPRBEH TYPE EINHTXT, " زمان (ماه، روز و...) قرارداد
      ZTXTD(5) TYPE C, " ماه روز سال
      ZORGEH TYPE ORGEH,
      ZTEXTPOS TYPE STEXT,
      ZSTELL TYPE STELL.
*--------------قرارداد-------- PA0016
  SELECT SINGLE CTTYP BEGDA CTEDT PRBZT PRBEH FROM PA0016 INTO ( ZCTTYP, BEGDA16, ZCTEDT, ZPRBZT, ZPRBEH ) WHERE pernr = pernr AND begda le DATE AND endda ge DATE.
    IF sy-subrc NE 0. " اگر قرارداد نداشت خارج شود
      REJECT.
    ENDIF.
    clear lv_datum_ext.
    TRY. " تاريخ شمسي شروع قرارداد
      CALL METHOD cl_abap_datfm=>conv_date_int_to_ext
        EXPORTING
          im_datint    = BEGDA16
          im_datfmdes  = 'C'
        IMPORTING
          ex_datext    = lv_datum_ext
          ex_datfmused = lv_exdatfm.
    CATCH cx_abap_datfm_format_unknown .
  ENDTRY.
ZFULL-AZMODAT = lv_datum_ext.
clear lv_datum_ext.
    TRY. " تاريخ شمسي پايان قرارداد
      CALL METHOD cl_abap_datfm=>conv_date_int_to_ext
        EXPORTING
          im_datint    = ZCTEDT
          im_datfmdes  = 'C'
        IMPORTING
          ex_datext    = lv_datum_ext
          ex_datfmused = lv_exdatfm.
    CATCH cx_abap_datfm_format_unknown .
  ENDTRY.
ZFULL-TAMODAT = lv_datum_ext.
ZFULL-ZPERNR = pernr.
*--------------------- مشخص شدن مدت قرارداد
CASE ZPRBEH.
  WHEN '010'.
   ZTXTD = 'روز'.
  WHEN '011'.
   ZTXTD = 'هفته'.
  WHEN '012'.
   ZTXTD = 'ماه'.
  WHEN '013'.
   ZTXTD = 'سال'.
  WHEN OTHERS.
   ZTXTD = '-'.
ENDCASE.
ZPRBZTS = ZPRBZT.
CONCATENATE ZTXTD '-' ZPRBZTS INTO ZFULL-MODAT SEPARATED BY sep. " مثال 6 - ماه
*-------------------------------- select infotype 0002 -------------
SELECT SINGLE vorna nachn GESCH GBDAT ANZKD FAMST
  FROM PA0002 INTO ( zvorna, znachn, ZGESCH, ZGBDAT, ZFULL-FARZANDNUM, ZFAMST )
  WHERE pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.
CONCATENATE zvorna znachn INTO ZFULL-NAMEFAMILY SEPARATED BY sep.

*---------------- تاريخ تولد
clear lv_datum_ext.
    TRY.
      CALL METHOD cl_abap_datfm=>conv_date_int_to_ext
        EXPORTING
          im_datint    = ZGBDAT
          im_datfmdes  = 'C'
        IMPORTING
          ex_datext    = lv_datum_ext
          ex_datfmused = lv_exdatfm.
    CATCH cx_abap_datfm_format_unknown .
  ENDTRY.
ZFULL-BORNDATE = lv_datum_ext.
*  *------------ جنسيت
IF ZGESCH EQ '1'.
ZFULL-ZJENSIAT = 'آقای'.
ELSE.
ZFULL-ZJENSIAT = 'خانم'.
ENDIF.
*-------------- وضعيت تاهل
CASE ZFAMST.
  WHEN '0'.
    ZFULL-VAZIATTAHOL = 'مجرد'.
  WHEN '1'.
    ZFULL-VAZIATTAHOL = 'متاهل'.
  WHEN '2'.
    ZFULL-VAZIATTAHOL = 'معيل'.
  WHEN '3'.
    ZFULL-VAZIATTAHOL = 'مطلقه'.
  WHEN '4'.
    ZFULL-VAZIATTAHOL = 'بيوه'.
  WHEN OTHERS.
    ZFULL-VAZIATTAHOL = '-'.
ENDCASE.

*################## ------------- کد ملي و شماره شناسنامه
  SELECT SINGLE ICNUM FROM PA0185 INTO ZFULL-SHOMARESHENAS WHERE subty eq '01' AND pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.
  SELECT SINGLE ICNUM FROM PA0185 INTO ZFULL-CODEMELI WHERE subty eq '02' AND pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.

*################## ------------- تحصيلات
  SELECT SINGLE SLART SLTP1 FROM PA0022 INTO ( ZSLART, ZFACH ) WHERE pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.
SELECT SINGLE STEXT FROM T517T INTO ZFULL-MADRAKTAHSIL WHERE SLART EQ ZSLART AND SPRSL EQ 'E'.
SELECT SINGLE FTEXT FROM T517X INTO ZFULL-RESHTEH WHERE FAART EQ ZFACH AND LANGU EQ 'E'.

*------------------- آدرس
    SELECT SINGLE STRAS LOCAT FROM PA0006 INTO ( adres1, adres2 ) WHERE subty eq '1' AND pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.
   CONCATENATE adres1 ' - ' adres2 INTO ZFULL-NESHANI SEPARATED BY sep.

*   ------------- موبايل
  SELECT SINGLE USRID FROM PA0105 INTO ZFULL-MOBILE WHERE subty EQ '0002' AND pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16 .


*    ----------------- حقوق پايه ############################ ماده چهار

INFOTYPES: 0000,0001,0002,0008,0021, 0007.
         data: it0008 type table of PBWLA WITH HEADER LINE,
               ws_0008 type PBWLA,
               _JAM TYPE zamount,
               _amt TYPE zamount,
               _maskan TYPE zamount,
               _bon TYPE zamount,
               wa_pa0000       TYPE pa0000,
               itab_pa0000     TYPE TABLE OF pa0000.
    CALL FUNCTION 'RP_FILL_WAGE_TYPE_TABLE_EXT'
   EXPORTING
     APPLI                              = 'E'
    BEGDA                              = BEGDA16
    ENDDA                              = BEGDA16
     INFTY                              = '0008'
     TCLAS                              = 'A'
     PERNR                              = PERNR
     SUBTY                              = '0   '
     DLSPL                              = 'X'

     CONV_CURR                          = 'X'
   TABLES
     PP0001                             = p0001
     PP0007                             = p0007
     PP0008                             = p0008
     PPBWLA                             = it0008
   .
     clear _JAM.

    loop at it0008 into ws_0008 .
  _JAM = _JAM + ws_0008-BETRG * 100.
   ZFULL-HOGHOGHPAYE = + ws_0008-BETRG * 100.
endloop.
  clear _amt.
select single BETRG from pa0014 into _amt where LGART = '3000' and pernr = PERNR and begda le BEGDA16 and endda ge BEGDA16.
  _JAM = _JAM + _amt * 100.
  _maskan = _amt * 100.
  clear _amt.
  select single BETRG from pa0014 into _amt where LGART = '3003' and pernr = PERNR and begda le BEGDA16 and endda ge BEGDA16.
  _JAM = _JAM + _amt * 100.
  _bon = _amt * 100.
    clear _amt.
  select single BETRG from pa0014 into _amt where LGART = '3002' and pernr = PERNR and begda le BEGDA16 and endda ge BEGDA16.
  _JAM = _JAM + _amt * 100.
  ZFULL-HAGHMASOLIAT = _amt * 100.
    clear _amt.
  select single BETRG from pa0014 into _amt where LGART = '3026' and pernr = PERNR and begda le BEGDA16 and endda ge BEGDA16.
  _JAM = _JAM + _amt * 100.
  ZFULL-HAGHROTBEH = _amt * 100.
    clear _amt.
  select single BETRG from pa0014 into _amt where LGART = '3001' and pernr = PERNR and begda le BEGDA16 and endda ge BEGDA16.
  _JAM = _JAM + _amt * 100.
  ZFULL-HAGHOLAD = _amt * 100.

  ZFULL-JAMMAZAYA = _JAM.
  ZFULL-HAGHMASKANB = _maskan + _bon.



*  ------------ *--------------- واحد سازماني و عنوان شغلي
SELECT SINGLE ORGEH STELL FROM PA0001 INTO ( ZORGEH, ZSTELL ) WHERE pernr = pernr AND begda le BEGDA16 AND endda ge BEGDA16.
SELECT SINGLE ORGTX FROM T527X INTO ZFULL-ZPOSITION WHERE ORGEH EQ ZORGEH AND SPRSL EQ 'E'.
SELECT SINGLE STLTX FROM T513S INTO ZFULL-ZONVANJOB WHERE STELL EQ ZSTELL AND SPRSL EQ 'E'.

*  ------------------- تاريخ استخدام
      SELECT * FROM pa0000 INTO TABLE itab_pa0000 WHERE pernr EQ pernr
          AND ( massn EQ '01' or massn EQ '12' ) . "پيدا کردن حکم استخدام يا بازگشت به کار
    SORT itab_pa0000 BY endda DESCENDING.
    READ TABLE itab_pa0000 INTO wa_pa0000 INDEX 1.
    TRY.
        CALL METHOD cl_abap_datfm=>conv_date_int_to_ext
          EXPORTING
            im_datint    = wa_pa0000-begda
            im_datfmdes  = 'C'
          IMPORTING
            ex_datext    = lv_datum_ext
            ex_datfmused = lv_exdatfm.
      CATCH cx_abap_datfm_format_unknown .
    ENDTRY.
    ZFULL-ESTEKHDAM = lv_datum_ext.

BREAK pmohammadi.
*    -------------------------------------- barcode signiture mohr ******************
    DATA: end type dats,
barcodetext type c LENGTH 200,
    START_DATE  TYPE  CHAR10,
    END_DATE  TYPE  CHAR10,
      text type c LENGTH 20,
      _emzaDate type ZTARKHCON.
PerNum = pernr.
*------------------------------------------------------------------------ barcode
SELECT SINGLE CTEDT ZZTARIKH FROM PA0016 INTO ( end, _emzaDate ) WHERE PERNR = PERNR AND BEGDA LE DATE AND CTEDT GE DATE.
if _emzadate is not initial or _emzadate ne '00000000'.
       TRY.
      CALL METHOD cl_abap_datfm=>conv_date_int_to_ext
        EXPORTING
          im_datint    = _emzaDate
          im_datfmdes  = 'C'
        IMPORTING
          ex_datext    = emza_date.
*          ex_datfmused = lv_exdatfm.
    CATCH cx_abap_datfm_format_unknown .
  ENDTRY.
  barcodetext = 'شماره پرسنلي:'.
  CONCATENATE  barcodetext pernum into barcodetext SEPARATED BY ' '.
  text = 'تاريخ شروع قرارداد:'.
  CONCATENATE  barcodetext text START_DATE into barcodetext SEPARATED BY ' '.
  text = 'تاريخ پايان قرارداد:'.
  CONCATENATE  barcodetext text end_DATE into barcodetext SEPARATED BY ' '.
 text = 'تاریخ امضای کارمند:'.
  CONCATENATE  barcodetext text emza_DATE into barcodetext SEPARATED BY ' '.

  barcode = barcodetext.
 endif.

* --------------------------------------------------------------------------- mohr
 CONSTANTS : gc_btype TYPE tdbtype VALUE 'BCOL',
gc_id TYPE tdidgr VALUE 'BMAP',
gc_object TYPE tdobjectgr VALUE 'GRAPHICS'.
 DATA: gv_name TYPE tdobname,
        kcompany TYPE BUKRS,
        sabtnum TYPE char10,
        sabtdate TYPE char10,
        COMPANY TYPE char64,
        emptype TYPE char12,
gv_name_mohr TYPE tdobname,
gv_name_sign TYPE tdobname,
gv_logo TYPE xstring ,
gv_bmp TYPE xstring.
 SELECT SINGLE BUKRS FROM PA0001 INTO  kcompany  WHERE PERNR = PERNR AND BEGDA LE DATE AND endda GE DATE.
if kcompany eq '1200' .
  gv_name = 'MECO'.
  gv_name_mohr = 'MECOMOHR'.
  gv_name_sign = 'SIGNATURE'.
  sabtnum = '70826'.
  sabtdate = '72/10/12'.
  concatenate 'شرکت ' company into company separated by ' '.
 endif.

 CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = gc_object " GRAPHICS
p_name = gv_name_MOHR " Name of the Logo
p_id = gc_id " BMAP
p_btype = gc_btype " BCOL for color, 'BMON' for Black & White
RECEIVING
p_bmp = gv_bmp
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
mohr = gv_bmp.

*------------------------------------------------------------------------ signiture
DATA: saghff type char7,
      KARKARDSA TYPE char3,
zsaghf TYPE THOUR.
SELECT SINGLE anzhl FROM pa2012 INTO zsaghf WHERE pernr EQ pernr AND begda LE DATE AND endda GE DATE AND subty EQ 'ZEMH'.
saghff = zsaghf.
KARKARDSA = saghff+0(3).
CONDENSE KARKARDSA.
*getting sinature pic
CALL METHOD cl_ssf_xsf_utilities=>get_bds_graphic_as_bmp
EXPORTING
p_object = gc_object " GRAPHICS
p_name = gv_name_sign " Name of the Logo
p_id = gc_id " BMAP
p_btype = gc_btype " BCOL for color, 'BMON' for Black & White
RECEIVING
p_bmp = gv_bmp
EXCEPTIONS
not_found = 1
internal_error = 2
OTHERS = 3.
SIGNATURE = gv_bmp.
content_copyCOPY

قرارداد ادوب مکو