Posts

Showing posts from July, 2018

การส่ง DATA ผ่าน Subroutine และความหมายของ Using & Changing.

Image
มีการส่ง 2 แบบคือ - USING คือ การส่งค่าไปยัง Subroutine ถึงแม้ตัวรับใน Subroutine มีการเปลี่ยนแปลงค่า ตัวแปรหลักที่ส่งไปจะไม่เปลี่ยนค่า  (พูดง่ายๆ มันคือ Pass by Value  ) - CHANGING คือ  การส่งค่าไปยัง Subroutine แล้วตัวรับใน Subroutine มีการเปลี่ยนแปลงค่า ตัวแปรหลักที่ส่งไปจะเปลี่ยนค่าตามไปด้วย  (พูดง่ายๆ มันคือ  Pass by Reference  ) สำหรับคนที่เข้าใจแล้ว พูดคำว่า "อ๋อ" ในใจและกดปิดไปได้เลย ส่วนค่าที่ยังไม่เข้าใจ อ่านต่อครับ อธิบาย  เพิ่มเติม  ตามหลักการ Pass by Value คือ Address ใน Memory มันอยู่คนละที่กัน มันเป็นเพียงแค่การ Copy ตัวแปรไปยังอีก ที่นึง ( Subroutine หรือ Function หรือ Method ก็แล้วแต่ภาษาที่เรียก ) ไม่ว่าค่าที่ปลายทางเปลี่ยนไปยังไงก็ตาม ค่าเดิมก็จะไม่มีการเปลี่ยนแปลง เพราะ  Address ใน Memory มันอยู่คนละที่กัน Pass by  Reference    คือ Address ใน Memory มันอยู่ที่เดียวกันเลย มันคือการส่งทั้งค่า และ Address ใน Memory ไปเลย เมื่อปลายทางเปลี่ยนไปเป็นอะไรก็ตาม ต้นทาง...

[How to] Output Type ผูกกับ Form ไหนอยู่ ( กรณีที่เป็น Standard )

Image
ก่อนอื่นต้องรู้ก่อนว่า Form ที่เราจะปริ้นนั้นมันอยู่ใน Module ไหน และ Message Types เป็นอะไร ก็ดูได้ตอนจังหวะที่กำลังจะสั่งปริ้น (อันนี้ผมเดาว่ารู้กันทุกคนอยู่แล้ว) เราก็จำแค่ 2 อย่างนี้พอ 1. ไปที่ T-Code : NACE  ติ๊กเลือกชนิด แล้วคลิก Output Types ดังรูป 2. จะเข้าไปยังหน้า ติ๊กที่  Message Types ที่เราต้องการดู ( จำได้ไหมเอ่ยยยยยยย ) แล้วดับเบิ้ลคลิกที่ Process Routines 3. จะเห็น Forms ต่างๆ ที่เราผูกไว้ ถ้าต้องการเปลี่ยนฟอร์มก็สามารถกดแก้ไขเปลี่ยนได้ตรงนี้เลย แต่อย่าลืม SAVE นาจาา ที่ติ๊กสีแดงคือ ให้สังเกตุดูพารามิเตอร์ต่างๆ เช่น Medium เป็น Print Output  ที่ไฮไลท์สีเหลืองคือชื่อของ Smartforms  เราก็ Copy ไว้ 4. ไปยัง T-Code : Smartforms แล้ววางที่ Copy ไว้ในช่อง Form  จะกดดูหรือแก้ไขก็ตามสะดวก แฟร๊บบบบบบบบบบบบ

[How to] การ เพิ่ม ลบ แก้ไข ข้อมูลในตาราง แบบไม่สนHee สนTad ใดๆ ทั้งสิ้น

Image
1. เข้า T-Code : se16n และใส่ชื่อ Table ที่ต้องการจัดการข้อมูล ดังภาพ หมายเหตุ : สมติว่า ตารางนี้ป็นตารางที่ไม่ยอมให้แก้ โดยถ้าตารางที่ไม่ยอมให้แก้ตรงๆ จะขึ้นแบบนี้ และเราจะมาสอนวิธีการแก้ในกรณีนี้กัน 2. ทำการเปิด Debugger Mode โดยการ พิมพ์ /h ที่ Command Field แล้ว Enter ระบบจะบอกว่าได้เปิด Debugging Mode แล้วที่ Status ด้านล่าง  >>>>>>>>>>>>>>> จากนั้น ทำการ Execute โดยการกดที่ปุ่มหรือกด F8 3. โปรแกรมจะทำการเปิด Debugging Mode ขึ้นมา สังเกตุฝั่งขวามือ ตรงช่อง Variables ให้ใส่ ตัวแปร "GD-EDIT" เข้าไป แล้วกด Enter ดังภาพ จากนั้น กดปุ่มแก้ไขและทำการแก้ไขค่าของตัวแปรเป็น "X" ( ตัวพิมพ์ใหญ่เท่านั้น ) ( ดูจากภาพตามลำดับ ) และทำการกด Execute หรือ F8 ต่อไป 4. จะได้ผลลัพธ์ดังภาพที่ 2 จะสังเกตุว่า .. ก่อนเปิดโหมดนี้  เมื่อทำการเปิดแล้ว ..เมื่อเปรียบเทียบตารางข้างต้นจะเห็นความแตกต่าง ระหว่าง 2 ภาพ OK กลับมาต่อเรื่องหลัก - หากต้องการที่จะ เพิ่ม ก็สามารถกดที่ปุ่ม ...