ฟังก์ชัน as400 dds เพื่อจำกัดค่าที่กำหนดที่แน่นอน

ฉันยังใหม่กับ as400 dds ใครช่วยบอกฉันถึงฟังก์ชันเพื่อรับค่าที่กำหนดที่แน่นอน เช่น รหัสไปรษณีย์ประกอบด้วยตัวเลข 6 หลัก หากผู้ใช้ไม่ป้อนค่าน้อยกว่า 6 จะต้องแสดงข้อผิดพลาด ขอบคุณล่วงหน้า


person Gokul Senthil    schedule 08.08.2015    source แหล่งที่มา


คำตอบ (3)


คุณต้องมีคีย์เวิร์ด DSPATR(MDT) ด้วย จากคู่มือ DDS สำหรับตัวเลือก ME ของคำสำคัญ CHECK:

รหัสนี้ระบุว่าต้องพิมพ์ข้อมูลอย่างน้อย 1 ตัวอักษร (ช่องว่างที่ถูกต้อง) ลงในฟิลด์ โปรดทราบว่าเมื่อไม่มีการเปลี่ยนแปลงฟิลด์บนจอแสดงผล สถานีแสดงผลจะไม่บังคับใช้การป้อนข้อมูลที่บังคับ หากต้องการบังคับให้ป้อน ให้ระบุ DSPATR(MDT) สำหรับอย่างน้อยหนึ่งฟิลด์ในแต่ละเรคคอร์ดบนจอแสดงผล สำหรับฟิลด์อื่นๆ ทั้งหมดในเรกคอร์ด CHECK(ME) จะถูกบังคับใช้ อย่างไรก็ตาม เนื่องจากอุปกรณ์ไม่สามารถระบุได้ว่าผู้ใช้ได้พิมพ์ข้อมูลลงในฟิลด์ที่มีทั้ง DSPATR(MDT) และ CHECK(ME) หรือไม่ คุณควรระบุ DSPATR(ND) เพื่อไม่ให้ฟิลด์นี้ปรากฏขึ้น

person Montana    schedule 13.12.2015

ลองสิ่งนี้:

A            ZIP            6Y 0I 17  4CHECK( ME MF )

หากไม่ใช่สิ่งที่คุณต้องการ ให้แก้ไขคำถามและเพิ่มรายละเอียด

person user2338816    schedule 09.08.2015

คำนิยามฟิลด์ตัวอย่างสองตัวอย่างต่อไปนี้อาจช่วยให้เกิดผลกับสิ่งที่พยายามจะแสดง ไม่ว่าในกรณีใด สามารถป้อนค่าได้\ปรากฏบนหน้าจอให้มีตัวเลขน้อยกว่าหกหลัก แต่ผลลัพธ์ของโปรแกรมจะเป็นหกหลักเสมอ [จัดชิดขวา, เติมศูนย์ไปทางซ้าย]:

     A            ZIPD           6D00B  9  9CHECK( ME MF    FE )
     A            ZIPDRZ         6D00B 13  9CHECK( ME    RZ FE )

แม้ว่าข้อกำหนดการตรวจสอบการเติมศูนย์ (RZ) ที่ปรับค่าเป็นศูนย์ปรับขวาจะเป็นทางเลือก แต่ข้อกำหนดดังกล่าวทำให้มั่นใจได้ว่าการจัดรูปแบบตัวเลขจะมองเห็นได้จากการเติมศูนย์เมื่อใช้ Field Exit [แต่แน่นอนว่าข้อกำหนดการตรวจสอบการออกจากสนาม (FE) เป็นทางเลือกเช่นกัน แต่การสนับสนุนให้ใช้ทำให้ผลของสิทธิ\ศูนย์ชัดเจนยิ่งขึ้น] FWiW ข้อกำหนดการตรวจสอบที่ต้องกรอก (MF) ดูเหมือนว่าจะไม่มีผลกระทบ [สำหรับฟิลด์อินพุตตัวเลข; ไม่มีสิ่งใดที่ชัดเจนในการทดสอบของฉัน]

person CRPence    schedule 12.08.2015
comment
MF ดูเหมือนจะไม่มีเอฟเฟกต์เป็นจริงสำหรับ 'B'oth fields แต่ไม่ใช่สำหรับ 'I'nput เมื่อฉันทดสอบ นั่นอาจเป็นปัญหา เมื่อมันเป็นเรื่องทั้งหมด บังคับ บางที 'B' กับ 'I' อาจมีความหมายน้อยกว่า อาจจะไม่. - person user2338816; 13.08.2015