ABAP ALV row color – satır renklendirme

ALV raporlarında satırlar renklendirlirken kullanılanr renklerin listesi.

alv_color_rows

* Fiealdcatalog tanımlama
 TYPE-POOLSSLIS.
 DATAGT_FIELDCAT TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
       wa_fieldlayout  TYPE    slis_layout_alv.
 
 * İnternal Tablomuz
 DATABEGIN OF GT_DATA OCCURS 0,
   COLORNAME(20),
 COLCODE(4),
 CLRLN(4),
   END OF GT_DATA.
 
 * Fieldcatalog için Macro
 DEFINE FILL_FIELD_CATALOG.
   CLEAR GT_FIELDCAT.
   GT_FIELDCAT-FIELDNAME     &1"alan adı
   GT_FIELDCAT-REF_TABNAME   &2"referans tablo adı
   GT_FIELDCAT-REF_FIELDNAME &3"referans alan adı
   GT_FIELDCAT-DDICTXT       &4"default kolon genişliği, S:Kısa
   "M:Orta L:Uzun
   GT_FIELDCAT-SELTEXT_S     =     "kısa kolon adı
   GT_FIELDCAT-SELTEXT_M     =     "orta kolon adı
   GT_FIELDCAT-REPTEXT_DDIC  =     "varyant kısmında görünen metin
   GT_FIELDCAT-SELTEXT_L     &5"uzun kolon adı
   append GT_FIELDCAT.
 END-OF-DEFINITION.
 
 *Tablomuzu dolduralım
 gt_data-COLORNAME 'GreyBlue'.
 GT_DATA-COLCODE 'C100'.
 GT_DATA-CLRLN 'C100'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'GreyBlue'.
 GT_DATA-COLCODE 'C101'.
 GT_DATA-CLRLN 'C101'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'GreyBlue'.
 GT_DATA-COLCODE 'C110'.
 GT_DATA-CLRLN 'C110'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'GreyBlue'.
 GT_DATA-COLCODE 'C111'.
 GT_DATA-CLRLN 'C111'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'LightGrey'.
 GT_DATA-COLCODE 'C200'.
 GT_DATA-CLRLN 'C200'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'LightGrey'.
 GT_DATA-COLCODE 'C201'.
 GT_DATA-CLRLN 'C201'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'LightGrey'.
 GT_DATA-COLCODE 'C210'.
 GT_DATA-CLRLN 'C210'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'LightGrey'.
 GT_DATA-COLCODE 'C211'.
 GT_DATA-CLRLN 'C211'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'Yellow'.
 GT_DATA-COLCODE 'C300'.
 GT_DATA-CLRLN 'C300'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Yellow'.
 GT_DATA-COLCODE 'C301'.
 GT_DATA-CLRLN 'C301'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Yellow'.
 GT_DATA-COLCODE 'C310'.
 GT_DATA-CLRLN 'C310'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Yellow'.
 GT_DATA-COLCODE 'C311'.
 GT_DATA-CLRLN 'C311'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'BlueGreen'.
 GT_DATA-COLCODE 'C400'.
 GT_DATA-CLRLN 'C400'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'BlueGreen'.
 GT_DATA-COLCODE 'C401'.
 GT_DATA-CLRLN 'C401'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'BlueGreen'.
 GT_DATA-COLCODE 'C410'.
 GT_DATA-CLRLN 'C410'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'BlueGreen'.
 GT_DATA-COLCODE 'C411'.
 GT_DATA-CLRLN 'C411'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'Green'.
 GT_DATA-COLCODE 'C500'.
 GT_DATA-CLRLN 'C500'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Green'.
 GT_DATA-COLCODE 'C501'.
 GT_DATA-CLRLN 'C501'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Green'.
 GT_DATA-COLCODE 'C510'.
 GT_DATA-CLRLN 'C510'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Green'.
 GT_DATA-COLCODE 'C511'.
 GT_DATA-CLRLN 'C511'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'Red'.
 GT_DATA-COLCODE 'C600'.
 GT_DATA-CLRLN 'C600'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Red'.
 GT_DATA-COLCODE 'C601'.
 GT_DATA-CLRLN 'C601'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Red'.
 GT_DATA-COLCODE 'C610'.
 GT_DATA-CLRLN 'C610'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Red'.
 GT_DATA-COLCODE 'C611'.
 GT_DATA-CLRLN 'C611'.
 APPEND GT_DATA.
 
 gt_data-COLORNAME 'Violett'.
 GT_DATA-COLCODE 'C700'.
 GT_DATA-CLRLN 'C700'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Violett'.
 GT_DATA-COLCODE 'C701'.
 GT_DATA-CLRLN 'C701'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Violett'.
 GT_DATA-COLCODE 'C710'.
 GT_DATA-CLRLN 'C710'.
 APPEND GT_DATA.
 gt_data-COLORNAME 'Violett'.
 GT_DATA-COLCODE 'C711'.
 GT_DATA-CLRLN 'C711'.
 APPEND GT_DATA.
 
 *Fieldcatalog doldurma
 FILL_FIELD_CATALOG  'COLORNAME' ''  '' 'L' 'Color Name'.
 FILL_FIELD_CATALOG  'COLCODE' ''  '' 'L' 'Color Code'.
 
 wa_fieldlayout-colwidth_optimize 'X'.
 wa_fieldlayout-INFO_FIELDNAME 'CLRLN'.
 
 *Alv Listeleme
 CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
   EXPORTING
     IT_FIELDCAT   GT_FIELDCAT[]
     is_layout     wa_fieldlayout
   TABLES
     T_OUTTAB      GT_DATA
   EXCEPTIONS
     PROGRAM_ERROR 1
     OTHERS        2.

3 views

SAP PP Yeni Üretim Siparişi Tipi Yaratma Adımları

1. Order Type
T. Code : OPJH

2. Order Type dependent parameters
T. Code : OPL8

3. Availability Check: Checking control (Order Control)
T. Code: OPJK

4. Stock and Batch determination for goods movements
T. Code: OPJ2

5. Define scheduling parameters for production orders.
T. Code: OPU3

6. Confirmation Parameters
T. Code: OPK4

25 views

ABAP mail gönderme programı

Bir internal tablodaki kayıtların html formatında mail olarak atılması.

abap_mail

*************************************************************************************************

REPORT  ZPP_R_BOYARAF_ILK_30KG_MAIL.
DATA:
BEGIN OF it_boyaraf OCCURS 0,
matnr like mchbmatnr,
meins LIKE marameins,
clabs LIKE mchbclabs,
mustr LIKE ZMME_002mustr,
bmatnr like mchbmatnr,
dikis_gr_1_dz like zpd_036dikis_gr_1_dz,
kg LIKE mchbclabs,
renk LIKE ZPD_057BOYA_NOTU,
lgort LIKE ZPD_057BOYA_NOTU,
END OF it_boyaraf,
wa_boyaraf LIKE LINE OF it_boyaraf.
DATA:
BEGIN OF t_mail OCCURS 0,
receiver TYPE ZPP_T_MAILGRUPSMTP_ADDR,
END OF t_mail,
ls_mail LIKE LINE OF t_mail.

DATA:
w_docdata TYPE sodocchgi1,
w_objtxt  TYPE solisti1,
w_objbin  TYPE solisti1,
w_objpack TYPE sopcklsti1,
w_reclist TYPE somlreci1,
w_lines TYPE i,
* Table declaration
t_objbin   TYPE  TABLE OF solisti1,   ” Attachment data
t_objtxt   TYPE  TABLE OF solisti1,   ” Message body
t_objpack  TYPE  TABLE OF sopcklsti1” Packing list
t_reclist  TYPE  TABLE OF somlreci1,  ” Receipient list
t_objhead  TYPE  TABLE OF solisti1.   ” Header

DATA:      dat_1f TYPE sydatum.
data:  mcarpan(12).
DATA :
lt_salesorders TYPE STANDARD TABLE OF ZSD_S_MT_IKITARIH INITIAL
SIZE 0,
wa_salesorders LIKE LINE OF lt_salesorders.
DATA:
BEGIN OF lt_salesorders2 OCCURS 0,
orgu like mchbmatnr,
renk like CAWNTATWTB,
END OF lt_salesorders2,
wa_salesorders2 LIKE LINE OF lt_salesorders2.
DATA:
BEGIN OF lt_salesorders3 OCCURS 0,
orgu like mchbmatnr,
renk like CAWNTATWTB,
END OF lt_salesorders3,
wa_salesorders3 LIKE LINE OF lt_salesorders3.

data lv_matnr type mchbmatnr.  “16.11.2015 Fahri Dönmez
data lv_clabs type mchbCLABS.  “16.11.2015 Fahri Dönmez
data lv_kg type mchbCLABS.  “16.11.2015 Fahri Dönmez
data lv_lgort type mchblgort.  “16.11.2015 Fahri Dönmez

dat_1f sydatum – 30.

* Fabrika mail
* Document Description
w_docdataobj_name  text001“‘Boya İlk Defa Boyanacak Ürün Raporu’.
w_docdataobj_descr =   text000”  ‘Miktarı 30 Kg olan yeni ürünler’.

* Message Body
w_objtxtline ‘<html> <body>’.
APPEND w_objtxt TO t_objtxt.

w_objtxtline ‘<p> Boya İlk Defa Boyanacak Ürün Raporu </p>’.
APPEND w_objtxt TO t_objtxt.
*   table display
w_objtxtline ‘<table style=”MARGIN: 10px” bordercolor=”blue” ‘.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘ cellspacing=”0″ cellpadding=”5″ width=”500″‘.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘ border=”1″><tbody><tr>’.
APPEND w_objtxt TO t_objtxt.
*   table header
w_objtxtline ‘<th bgcolor=”yellow” nowrap>Raf Ürün</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow”>Birim</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow” nowrap>Toplam Adet</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow”>Müşteri</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow”>Boya Ürün</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow” nowrap>PD 1 DZ Dkş.Grm.</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow”>KG</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow” nowrap>Renk Listesi</th>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<th bgcolor=”yellow” nowrap>Depo</th></tr>’.
APPEND w_objtxt TO t_objtxt.
select SMTP_ADDR as receiver
from ZPP_T_MAILGRUP into TABLE t_mail
where tcode eq ‘ZMMR002’.

SELECT   b~matnr  m~meins z~mustr t~matnr as bmatnr
sumb~clabs as clabs  b~lgort
INTO CORRESPONDING FIELDS OF TABLE it_boyaraf
from  mchb AS b
INNER JOIN mara as on m~matnr eq b~matnr
LEFT OUTER JOIN ZMME_002 as on z~matnr eq b~matnr
left OUTER JOIN stpo as on s~idnrk eq b~matnr
inner JOIN mast as on t~stlnr eq  s~stlnr
INNER JOIN mara as on f~matnr eq t~matnr
WHERE b~lvorm EQ space AND m~lvorm EQ space
AND b~lgort in (‘4002’,‘5001’)
and f~matkl eq ‘Y-BOY’
AND b~clabs NE and m~lvorm EQ space
and NOT EXISTS
select matnr from zpp_t_ias_boya where matnr eq t~matnr )
and NOT EXISTS
select n~matnr from zpp_t_boya_psb as n
inner join rkpf as on n~rsnum r~rsnum
where n~matnr eq t~matnr )
GROUP BY b~matnr  m~meins z~mustr t~matnr b~lgort
ORDER BY b~matnr b~lgort.
IF sysubrc <> 0.
WRITEtext004.“‘Hata.’.
ELSE.

CALL FUNCTION ‘ZPP_RFC_SD_IKI_TARIH_ARASI’
TABLES
T_SALESORDERS lt_salesorders
EXCEPTIONS
NO_ENTRY      1
OTHERS        2.
IF sysubrc <> 0.
*  pl sip yok
ENDIF.
CLEARlt_salesorders2lt_salesorders3.
LOOP AT lt_salesorders INTO wa_salesorders.
wa_salesorders2orgu wa_salesordersorgu.
wa_salesorders2renk wa_salesordersrenk.
COLLECT wa_salesorders2 INTO lt_salesorders2.
CLEAR wa_salesorders2.
ENDLOOP.
select a~matnr as orgu a~j_3akordx as renk
into CORRESPONDING FIELDS OF TABLE lt_salesorders3
from mean as a
INNER JOIN ZMRP_T002 as on b~matnr a~matnr
*    and a~j_3akordx = b~renk    “sipi olmayan gelmesin
where a~ean11 like ‘%’ and a~j_3akordx <> 
and b~XLOEK <> ‘X’.
LOOP AT lt_salesorders3 INTO wa_salesorders3.
wa_salesorders2orgu wa_salesorders3orgu+2(6).
wa_salesorders2renk wa_salesorders3renk+3(5).
COLLECT wa_salesorders2 INTO lt_salesorders2.
CLEAR wa_salesorders2.
ENDLOOP.

LOOP at it_boyaraf INTO wa_boyaraf.
SELECT SINGLE dikis_gr_1_dz INTO wa_boyarafdikis_gr_1_dz
from zpd_036 where urun_kodu eq wa_boyarafmatnr+0(6).
wa_boyarafkg =
wa_boyarafdikis_gr_1_dz *  wa_boyarafclabs 12000.

LOOP at lt_salesorders2 INTO wa_salesorders2.
if wa_salesorders2orgu wa_boyarafmatnr+0(6).
if wa_boyarafrenk =.
wa_boyarafrenk wa_salesorders2renk.
else.
CONCATENATE wa_boyarafrenk wa_salesorders2renk
INTO wa_boyarafrenk SEPARATED BY ‘, ‘.
endif.
ENDIF.
endloop.

MODIFY it_boyaraf FROM wa_boyaraf.
CLEAR wa_boyaraf.
ENDLOOP.

DELETE it_boyaraf WHERE RENK space.
DELETE it_boyaraf WHERE RENK ‘RENKSIZ’.
CLEARlv_matnrlv_clabslv_lgort.
LOOP at it_boyaraf INTO wa_boyaraf.
if lv_matnr wa_boyarafMATNR.
wa_boyarafCLABS wa_boyarafCLABS + lv_clabs.
wa_boyarafkg wa_boyarafkg + lv_kg.
CONCATENATE wa_boyaraflgort lv_lgort
INTO wa_boyaraflgort SEPARATED BY ‘, ‘.
MODIFY it_boyaraf FROM wa_boyaraf.
CLEAR wa_boyaraf.
DELETE  it_boyaraf where matnr lv_matnr
and lgort lv_lgort and clabs lv_clabs and kg lv_kg.
ENDIF.
lv_matnr wa_boyarafMATNR.
lv_clabs wa_boyarafCLABS.
lv_kg wa_boyarafkg.
lv_lgort wa_boyaraflgort.
ENDLOOP.
LOOP at it_boyaraf INTO wa_boyaraf.
if wa_boyarafkg <> 0.
if wa_boyarafkg < 30.
DELETE TABLE it_boyaraf FROM wa_boyaraf.
endif.
ENDIF.
ENDLOOP.
LOOP at it_boyaraf INTO wa_boyaraf.
CONCATENATE ‘<tr style=”background-color:#eeeeee;”><td>’
wa_boyarafmatnr
‘</td>’
INTO w_objtxt.
APPEND w_objtxt TO t_objtxt.
CONCATENATE ‘<td>’ wa_boyarafmeins ‘</td> ‘ INTO w_objtxtline.
APPEND w_objtxt TO t_objtxt.
mcarpan wa_boyarafclabs.
CONCATENATE ‘<td>’ mcarpan ‘</td>’ INTO w_objtxtline.
APPEND w_objtxt TO t_objtxt.

CONCATENATE ‘<td nowrap>’ wa_boyarafmustr‘</td>’
INTO w_objtxtline.

APPEND w_objtxt TO t_objtxt.

CONCATENATE ‘<td>’ wa_boyarafbmatnr‘</td>’ INTO w_objtxtline.

APPEND w_objtxt TO t_objtxt.
mcarpan wa_boyarafdikis_gr_1_dz.
CONCATENATE ‘<td>’ mcarpan‘</td>’ INTO w_objtxtline.

APPEND w_objtxt TO t_objtxt.
mcarpan wa_boyarafkg.
CONCATENATE ‘<td>’ mcarpan‘</td>’ INTO w_objtxtline.

APPEND w_objtxt TO t_objtxt.

CONCATENATE ‘<td nowrap>’  wa_boyarafrenk  ‘</td>’ INTO
w_objtxtline.

APPEND w_objtxt TO t_objtxt.
CONCATENATE ‘<td>’ wa_boyarafLGORT‘</td>’ INTO w_objtxtline.

APPEND w_objtxt TO t_objtxt.
ENDLOOP.

*   table close
w_objtxtline ‘</tbody> </table>’.
APPEND w_objtxt TO t_objtxt.

*   Signature with background color
w_objtxtline ‘<br><br>’.
APPEND w_objtxt TO t_objtxt.
w_objtxtline ‘<p> Saygılar.</p>’.
APPEND w_objtxt TO t_objtxt.
*   HTML close
w_objtxtline ‘</body> </html> ‘.
APPEND w_objtxt TO t_objtxt.

* Document data
DESCRIBE TABLE t_objtxt      LINES w_lines.
READ     TABLE t_objtxt      INTO w_objtxt INDEX w_lines.
w_docdatadoc_size =
w_lines – 255 STRLENw_objtxt ).

* Packing data
CLEAR w_objpacktransf_bin.
w_objpackhead_start 1.
w_objpackhead_num   0.
w_objpackbody_start 1.
w_objpackbody_num   w_lines.
*   we will pass the HTML, since we have created the message
*   body in the HTML
w_objpackdoc_type   ‘HTML’.
APPEND w_objpack TO t_objpack.

*fabrika alıcı

loop at t_mail INTO ls_mail.
w_reclistreceiver ls_mailreceiver.
w_reclistrec_type ‘U’.
APPEND w_reclist TO t_reclist.
CLEAR:  w_reclistls_mail.
ENDLOOP.

* Send Mail
CALL FUNCTION ‘SO_NEW_DOCUMENT_ATT_SEND_API1’
EXPORTING
document_data              w_docdata
put_in_outbox              ‘X’
commit_work                ‘X’
TABLES
packing_list               t_objpack
object_header              t_objhead
contents_txt               t_objtxt
receivers                  t_reclist
EXCEPTIONS
too_many_receivers         1
document_not_sent          2
document_type_not_exist    3
operation_no_authorization 4
parameter_error            5
x_error                    6
enqueue_error              7
OTHERS                     8.

IF sysubrc <> 0.
WRITEtext002” ‘Fabrika Mail hata!’.
ELSE.
WRITEtext003.“‘Fabrika Mail gönderildi.’.
ENDIF.
ENDIF.

*************************************************************************************************

33 views

Abap Native SQL de DateTime ile sorgu

DATA:
LRC_ROOT  TYPE REF TO CX_ROOT,
LFD_TEXT  TYPE STRING,
l_time TYPE char8,
tp_time1(19TYPE c,
tp_time2(19TYPE c.

CONCATENATE s_uzeit+0(2s_uzeit+2(2s_uzeit+4(2)
INTO l_time SEPARATED BY ‘:’.

CONCATENATE s_crdatlow+0(4s_crdatlow+4(2s_crdatlow+6(2)
INTO   tp_time1 SEPARATED BY ‘-‘.

CONCATENATE tp_time1 l_time INTO tp_time1 SEPARATED BY space.

CONCATENATE s_crdathigh+0(4s_crdathigh+4(2s_crdathigh+6(2)
INTO   tp_time2 SEPARATED BY ‘-‘.

CONCATENATE tp_time2 l_time INTO tp_time2 SEPARATED BY space.
TRY.

EXEC SQL.
OPEN FOR
SELECT Sicil,Giris,Cikis
FROM VwPdks
WHERE Giris >= :tp_time1
AND Cikis <= :tp_time2
ENDEXEC.

DO.

EXEC SQL.
FETCH NEXT into :ls_pdksSicil,
:ls_pdksGiris,
:ls_pdksCikis
ENDEXEC.

IF SYSUBRC 0.
APPEND ls_pdks TO lt_pdks.
CLEAR ls_pdks.
ELSE.
EXIT.
ENDIF.
ENDDO.

CATCH CX_ROOT INTO LRC_ROOT.
LFD_TEXT LRC_ROOT->GET_TEXT).
MESSAGE ID ‘ZPP’ TYPE ‘E’ NUMBER ‘000’
WITH LFD_TEXT SYMSGV2 SYMSGV3 SYMSGV4.

ENDTRY .

16 views